Actividad en clase: Ambientes de análisis bivariado

Base de datos

library(readxl)

base <- read_excel("datos.xlsx")
base
## # A tibble: 470 × 12
##     Edad `Estatura (cm)` `Nivel Educativo` `Asiste a citas psicológicas`
##    <dbl>           <dbl> <chr>             <chr>                        
##  1    62             181 Secundaria        No                           
##  2    65             160 Secundaria        Si                           
##  3    18             173 Secundaria        No                           
##  4    21             185 Primaria          Si                           
##  5    21             161 Secundaria        No                           
##  6    57             178 Secundaria        Si                           
##  7    27             184 Secundaria        Si                           
##  8    37             150 Postgrado         Si                           
##  9    39             150 Primaria          No                           
## 10    68             186 Postgrado         Si                           
## # ℹ 460 more rows
## # ℹ 8 more variables: `Sufre de trastornos` <chr>, Trabaja <chr>,
## #   `Motivación (1-10)` <dbl>, `Ansiedad (1-10)` <dbl>,
## #   `Autoestima (1-10)` <dbl>, `Ingresos Mensuales` <dbl>,
## #   `Horas de Sueño` <dbl>, `Días de Ejercicio por Semana` <dbl>

1. Relación de dos variables categóricas

Análisis Univariado

colnames(base) 
##  [1] "Edad"                         "Estatura (cm)"               
##  [3] "Nivel Educativo"              "Asiste a citas psicológicas" 
##  [5] "Sufre de trastornos"          "Trabaja"                     
##  [7] "Motivación (1-10)"            "Ansiedad (1-10)"             
##  [9] "Autoestima (1-10)"            "Ingresos Mensuales"          
## [11] "Horas de Sueño"               "Días de Ejercicio por Semana"
Variable Sufre de trastornos
tabla_trastornos <- table(base$`Sufre de trastornos`) / 470 * 100

tabla_trastornos
## 
##       No       Si 
## 60.85106 39.14894
barplot(tabla_trastornos,
        col = "skyblue",
        border = "black",
        main = "Diagrama",
        xlab = "¿Sufre de trastornos?")

Variable Nivel Educativo
tabla_NivelEducativo <- table(base$`Nivel Educativo`) / 470 * 100

tabla_NivelEducativo
## 
##  Postgrado   Pregrado   Primaria Secundaria 
##   18.93617   33.61702   27.65957   19.78723
barplot(tabla_NivelEducativo,
        col = "skyblue",
        border = "black",
        main = "Diagrama",
        xlab = "Nivel Educativo")

Análisis Bivariado

tabla_bivariada <- table(base$`Sufre de trastornos`, base$`Nivel Educativo`)

tabla_bivariada
##     
##      Postgrado Pregrado Primaria Secundaria
##   No        51      108       87         40
##   Si        38       50       43         53
base$`Nivel Educativo` <- as.factor(base$`Nivel Educativo`)


tabla_bivariada <- table(base$`Nivel Educativo`, base$`Sufre de trastornos`)


barplot(tabla_bivariada,
        beside = TRUE,
        col = c("skyblue", "salmon", "palegreen", "orange"),
        main = "Trastornos según Nivel Educativo",
        xlab = "Sufre de Trastornos",
        ylab = "Frecuencia")


legend("topright",
       legend = levels(base$`Nivel Educativo`),  
       fill = c("skyblue", "salmon", "palegreen", "orange"),
       bty = "n")

2. Relación de dos variables numéricas

library(ggplot2)

Análisis Univariado

Variable ansiedad (1-10)
summary(base$`Ansiedad (1-10)`)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   1.000   3.000   6.000   5.566   8.000  10.000
ggplot(base, aes(x = `Ansiedad (1-10)`)) +
  geom_histogram(fill = "lightgreen", color = "black", bins = 10) +
  ggtitle("distribución de Ansiedad") +
  xlab("Ansiedad (1-10)") +
  theme_minimal()

ggplot(base, aes(y = `Ansiedad (1-10)`)) +
  geom_boxplot(fill = "lightgreen", color = "black") +
  ggtitle("Caja de Bigotes de Ansiedad") +
  ylab("Ansiedad (1-10)") +
  theme_minimal()

Variable Horas de Sueño
summary(base$`Horas de Sueño`)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   4.100   5.600   6.600   6.962   8.650  10.000
ggplot(base, aes(x = `Horas de Sueño`)) +
  geom_histogram(fill = "lightgreen", color = "black", bins = 10) +
  ggtitle("distribución de Horas de Sueño") +
  xlab("Horas de Sueño") +
  theme_minimal()

ggplot(base, aes(y = `Horas de Sueño`)) +
  geom_boxplot(fill = "lightgreen", color = "black") +
  ggtitle("Caja de Bigotes de Horas de Sueño") +
  ylab("Horas de Sueño") +
  theme_minimal()

Análisis Bivariado

Grafico de correlación
library(readxl)
library(ggplot2)
library(corrplot)
## corrplot 0.95 loaded
base <- read_excel("datos.xlsx")

correlacion <- cor(base$`Ansiedad (1-10)`, base$`Horas de Sueño`)

print(paste("Correlación de Pearson entre Ansiedad y Horas de Sueño:", correlacion))
## [1] "Correlación de Pearson entre Ansiedad y Horas de Sueño: 0.0869059764376573"
corr_matrix <- cor(base[, c("Ansiedad (1-10)", "Horas de Sueño")])
corrplot(corr_matrix, method = "color", type = "upper", tl.col = "black", tl.srt = 45)

Grafico de dispersión
ggplot(base, aes(x = `Horas de Sueño`, y = `Ansiedad (1-10)`)) +
  geom_point() +
  labs(title = "Gráfico de Dispersión entre Ansiedad y Horas de Sueño",
       x = "Horas de Sueño",
       y = "Ansiedad") +
  theme_minimal()

3. Relación de una variable numérica y una variable categórica dicotómica

Análisis Univariado

Variable Sufre de trastornos
tabla_trastornos <- table(base$`Sufre de trastornos`) / 470 * 100

tabla_trastornos
## 
##       No       Si 
## 60.85106 39.14894
barplot(tabla_trastornos,
        col = "skyblue",
        border = "black",
        main = "Diagrama",
        xlab = "¿Sufre de trastornos?")

Variable Días de ejercicio por semana
tabla_ejercicio <- table(base$`Días de Ejercicio por Semana`) / 470 * 100

tabla_ejercicio
## 
##         0         1         2         3         4         5         6         7 
## 11.276596 14.893617 15.957447 12.340426 15.319149  8.936170 14.042553  7.234043
barplot(tabla_ejercicio,
        col = "skyblue",
        border = "black",
        main = "Diagrama",
        xlab = "Días de ejercicio por semana")

Análisis Bivariado

tabla_bivariada_segunda <- table(base$`Días de Ejercicio por Semana` , base$`Sufre de trastornos`)

tabla_bivariada_segunda
##    
##     No Si
##   0 19 34
##   1 39 31
##   2 57 18
##   3 38 20
##   4 50 22
##   5 27 15
##   6 42 24
##   7 14 20
base$`Días de Ejercicio por Semana` <- as.factor(base$`Días de Ejercicio por Semana`)


tabla_bivariada_segunda <- table(base$`Sufre de trastornos`, base$`Días de Ejercicio por Semana`)


barplot(tabla_bivariada_segunda,
        beside = TRUE,
        col = c("skyblue", "salmon"),
        main = "Trastornos según cuánto ejercicio se hace",
        xlab = "Días de Ejercicio a la Semana",
        ylab = "Frecuencia")

base$`Sufre de trastornos` <- as.factor(base$`Sufre de trastornos`)

legend("topright",
       legend = levels(base[["Sufre de trastornos"]]),
       fill = c("skyblue", "salmon"),
       bty = "n")

base$`Días de Ejercicio por Semana` <- as.numeric(as.character(base$`Días de Ejercicio por Semana`))


ggplot(base, aes(x = `Sufre de trastornos`, y = `Días de Ejercicio por Semana`, fill = `Sufre de trastornos`)) +
  geom_boxplot(alpha = 0.6) + 
  labs(title = "Trastornos según cuánto ejercicio se hace",
       x = "presenta trastornos",
       y = "Días de ejercicio por semana") +
  theme_minimal() + 
  scale_fill_manual(values = c("skyblue", "salmon")) 

ls(base)
##  [1] "Ansiedad (1-10)"              "Asiste a citas psicológicas" 
##  [3] "Autoestima (1-10)"            "Días de Ejercicio por Semana"
##  [5] "Edad"                         "Estatura (cm)"               
##  [7] "Horas de Sueño"               "Ingresos Mensuales"          
##  [9] "Motivación (1-10)"            "Nivel Educativo"             
## [11] "Sufre de trastornos"          "Trabaja"
dim(base) # Número de filas y columnas
## [1] 470  12
head(base)
## # A tibble: 6 × 12
##    Edad `Estatura (cm)` `Nivel Educativo` `Asiste a citas psicológicas`
##   <dbl>           <dbl> <chr>             <chr>                        
## 1    62             181 Secundaria        No                           
## 2    65             160 Secundaria        Si                           
## 3    18             173 Secundaria        No                           
## 4    21             185 Primaria          Si                           
## 5    21             161 Secundaria        No                           
## 6    57             178 Secundaria        Si                           
## # ℹ 8 more variables: `Sufre de trastornos` <fct>, Trabaja <chr>,
## #   `Motivación (1-10)` <dbl>, `Ansiedad (1-10)` <dbl>,
## #   `Autoestima (1-10)` <dbl>, `Ingresos Mensuales` <dbl>,
## #   `Horas de Sueño` <dbl>, `Días de Ejercicio por Semana` <dbl>
colnames(base) 
##  [1] "Edad"                         "Estatura (cm)"               
##  [3] "Nivel Educativo"              "Asiste a citas psicológicas" 
##  [5] "Sufre de trastornos"          "Trabaja"                     
##  [7] "Motivación (1-10)"            "Ansiedad (1-10)"             
##  [9] "Autoestima (1-10)"            "Ingresos Mensuales"          
## [11] "Horas de Sueño"               "Días de Ejercicio por Semana"