# Cargar los datos
M20 <- read.csv("Datos_molec_2020.csv")
Dicc20 <- read.csv("Diccionario_molec_2020.csv")
M24 <- read.csv("Datos_molec_2024.csv")
Dicc24 <- read.csv("Diccionario_molec_2024.csv")
# Ver la estructura del dataset M20
str(M20) # Muestra la estructura de la base de datos
## 'data.frame': 2010 obs. of 108 variables:
## $ folio : chr "11A192" "11A192" "11A192" "12A192" ...
## $ entidad : int 1 1 1 1 1 1 1 1 1 1 ...
## $ control : int 40060 40060 40060 40091 40091 40131 40131 40131 40131 40132 ...
## $ viv_sel : int 1 3 2 4 1 2 3 4 1 1 ...
## $ num_hog : int 1 1 1 1 1 1 1 1 1 1 ...
## $ hog_mud : int 0 0 0 0 0 0 0 0 0 0 ...
## $ n_ren_el: int 1 4 2 1 2 1 1 1 1 1 ...
## $ cd : int 14 14 14 14 14 14 14 14 14 14 ...
## $ periodo : int 220 220 220 220 220 220 220 220 220 220 ...
## $ sexo : int 1 2 2 1 2 2 1 1 1 1 ...
## $ edad : int 48 41 55 55 60 48 67 40 43 68 ...
## $ anio : int 6 3 3 5 3 3 3 3 2 6 ...
## $ nivel : int 2 3 3 7 6 3 6 3 2 2 ...
## $ cond_act: int 1 7 1 1 7 1 1 1 1 8 ...
## $ p1 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ p2 : int 1 2 2 1 1 1 1 1 2 1 ...
## $ p3_1 : int 1 2 2 1 1 2 2 2 2 1 ...
## $ p3_2 : int 1 2 2 2 2 1 2 2 2 2 ...
## $ p3_3 : int 1 2 2 1 2 2 1 1 2 2 ...
## $ p3_4 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p3_5 : int 1 1 2 1 2 1 2 1 2 2 ...
## $ p4 : int 1 0 0 2 2 0 0 0 0 1 ...
## $ p5 : int 4 0 0 4 4 0 0 0 0 4 ...
## $ p5_6esp : chr "" "" "" "" ...
## $ p6_1 : int 2 0 0 2 2 0 0 0 0 2 ...
## $ p6_2 : int 2 0 0 2 2 0 0 0 0 2 ...
## $ p6_3 : int 2 0 0 2 1 0 0 0 0 2 ...
## $ p6_4 : int 1 0 0 1 2 0 0 0 0 1 ...
## $ p6_5 : int 2 0 0 2 2 0 0 0 0 2 ...
## $ p6_6 : int 2 0 0 2 2 0 0 0 0 2 ...
## $ p6_6esp : chr "" "" "" "" ...
## $ p7 : int 2 0 0 2 2 0 0 0 0 2 ...
## $ p7_3 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p8_1 : int 2 0 0 2 2 0 0 0 0 2 ...
## $ p8_2 : int 1 0 0 1 1 0 0 0 0 1 ...
## $ p9 : int 1 0 0 1 1 0 0 0 0 1 ...
## $ p9_5esp : chr "" "" "" "" ...
## $ p10 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p11 : int 4 0 0 0 0 4 0 0 0 0 ...
## $ p11_6esp: chr "" "" "" "" ...
## $ p12_1 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p12_2 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p12_3 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p12_4 : int 1 0 0 0 0 1 0 0 0 0 ...
## $ p12_5 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p12_6 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p12_7 : int 1 0 0 0 0 2 0 0 0 0 ...
## $ p12_8 : int 2 0 0 0 0 1 0 0 0 0 ...
## $ p12_9 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p12_9esp: chr "" "" "" "" ...
## $ p13 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p13_3 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p14_1 : int 2 0 0 0 0 2 0 0 0 0 ...
## $ p14_2 : int 1 0 0 0 0 1 0 0 0 0 ...
## $ p15 : int 1 0 0 0 0 2 0 0 0 0 ...
## $ p15_5esp: chr "" "" "" "" ...
## $ p16 : int 1 0 0 1 0 0 1 1 0 0 ...
## $ p17 : int 4 0 0 4 0 0 3 4 0 0 ...
## $ p17_6esp: chr "" "" "" "" ...
## $ p18_1 : int 2 0 0 1 0 0 1 2 0 0 ...
## $ p18_2 : int 1 0 0 1 0 0 1 1 0 0 ...
## $ p18_3 : int 2 0 0 1 0 0 2 2 0 0 ...
## $ p18_4 : int 1 0 0 1 0 0 2 2 0 0 ...
## $ p18_5 : int 1 0 0 1 0 0 1 1 0 0 ...
## $ p19 : int 2 0 0 2 0 0 2 2 0 0 ...
## $ p19_3 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p20_1 : int 2 0 0 2 0 0 2 2 0 0 ...
## $ p20_2 : int 1 0 0 1 0 0 1 1 0 0 ...
## $ p21 : int 2 0 0 2 0 0 2 2 0 0 ...
## $ p21_5esp: chr "" "" "" "" ...
## $ p22 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p23_1 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p23_2 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p24 : int 5 5 0 2 0 3 0 1 0 0 ...
## $ p25 : int 4 4 0 4 0 4 0 4 0 0 ...
## $ p25_6esp: chr "" "" "" "" ...
## $ p26 : int 30 10 0 20 20 30 20 10 0 60 ...
## $ p27 : int 2 2 0 2 2 2 1 2 0 2 ...
## $ p28 : int 0 0 0 0 0 0 6 0 0 0 ...
## $ p28_7esp: chr "" "" "" "" ...
## $ p29 : int 2 2 0 2 2 4 3 4 0 3 ...
## $ p30 : int 3 3 0 3 3 4 3 4 0 3 ...
## $ p31 : int 2 2 0 1 2 2 2 2 0 2 ...
## $ p32 : int 0 0 3 0 0 0 0 0 3 0 ...
## $ p32_6esp: chr "" "" "" "" ...
## $ p33_1 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p33_2 : int 2 2 2 2 2 2 1 2 2 2 ...
## $ p33_3 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p33_4 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p34_1 : int 2 2 2 1 2 3 3 3 3 1 ...
## $ p34_2 : int 2 2 2 1 2 3 3 1 3 1 ...
## $ p34_3 : int 2 2 2 2 2 1 3 3 3 1 ...
## $ p34_3_1 : int 0 0 0 0 0 2 0 0 0 1 ...
## $ p34_4 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ p34_4_1 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ p35 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ p36_1 : int 1 1 2 1 2 1 3 3 3 3 ...
## $ p36_2 : int 1 1 1 1 2 1 3 3 3 3 ...
## $ p36_3 : int 1 1 1 1 2 1 1 1 3 1 ...
## [list output truncated]
names(M20) # Muestra los nombres de las variables
## [1] "folio" "entidad" "control" "viv_sel" "num_hog" "hog_mud"
## [7] "n_ren_el" "cd" "periodo" "sexo" "edad" "anio"
## [13] "nivel" "cond_act" "p1" "p2" "p3_1" "p3_2"
## [19] "p3_3" "p3_4" "p3_5" "p4" "p5" "p5_6esp"
## [25] "p6_1" "p6_2" "p6_3" "p6_4" "p6_5" "p6_6"
## [31] "p6_6esp" "p7" "p7_3" "p8_1" "p8_2" "p9"
## [37] "p9_5esp" "p10" "p11" "p11_6esp" "p12_1" "p12_2"
## [43] "p12_3" "p12_4" "p12_5" "p12_6" "p12_7" "p12_8"
## [49] "p12_9" "p12_9esp" "p13" "p13_3" "p14_1" "p14_2"
## [55] "p15" "p15_5esp" "p16" "p17" "p17_6esp" "p18_1"
## [61] "p18_2" "p18_3" "p18_4" "p18_5" "p19" "p19_3"
## [67] "p20_1" "p20_2" "p21" "p21_5esp" "p22" "p23_1"
## [73] "p23_2" "p24" "p25" "p25_6esp" "p26" "p27"
## [79] "p28" "p28_7esp" "p29" "p30" "p31" "p32"
## [85] "p32_6esp" "p33_1" "p33_2" "p33_3" "p33_4" "p34_1"
## [91] "p34_2" "p34_3" "p34_3_1" "p34_4" "p34_4_1" "p35"
## [97] "p36_1" "p36_2" "p36_3" "p36_4" "factor" "h_lec"
## [103] "mat_lec" "perslec" "l_format" "r_format" "p_format" "perslecl"
head(M20) # Muestra las primeras 6 filas
## folio entidad control viv_sel num_hog hog_mud n_ren_el cd periodo sexo edad
## 1 11A192 1 40060 1 1 0 1 14 220 1 48
## 2 11A192 1 40060 3 1 0 4 14 220 2 41
## 3 11A192 1 40060 2 1 0 2 14 220 2 55
## 4 12A192 1 40091 4 1 0 1 14 220 1 55
## 5 12A192 1 40091 1 1 0 2 14 220 2 60
## 6 11B176 1 40131 2 1 0 1 14 220 2 48
## anio nivel cond_act p1 p2 p3_1 p3_2 p3_3 p3_4 p3_5 p4 p5 p5_6esp p6_1 p6_2
## 1 6 2 1 1 1 1 1 1 2 1 1 4 2 2
## 2 3 3 7 1 2 2 2 2 2 1 0 0 0 0
## 3 3 3 1 1 2 2 2 2 2 2 0 0 0 0
## 4 5 7 1 1 1 1 2 1 2 1 2 4 2 2
## 5 3 6 7 1 1 1 2 2 2 2 2 4 2 2
## 6 3 3 1 1 1 2 1 2 2 1 0 0 0 0
## p6_3 p6_4 p6_5 p6_6 p6_6esp p7 p7_3 p8_1 p8_2 p9 p9_5esp p10 p11 p11_6esp
## 1 2 1 2 2 2 0 2 1 1 2 4
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 2 1 2 2 2 0 2 1 1 0 0
## 5 1 2 2 2 2 0 2 1 1 0 0
## 6 0 0 0 0 0 0 0 0 0 2 4
## p12_1 p12_2 p12_3 p12_4 p12_5 p12_6 p12_7 p12_8 p12_9 p12_9esp p13 p13_3
## 1 2 2 2 1 2 2 1 2 2 2 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 2 2 2 1 2 2 2 1 2 2 0
## p14_1 p14_2 p15 p15_5esp p16 p17 p17_6esp p18_1 p18_2 p18_3 p18_4 p18_5 p19
## 1 2 1 1 1 4 2 1 2 1 1 2
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 1 4 1 1 1 1 1 2
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 2 1 2 0 0 0 0 0 0 0 0
## p19_3 p20_1 p20_2 p21 p21_5esp p22 p23_1 p23_2 p24 p25 p25_6esp p26 p27 p28
## 1 0 2 1 2 0 0 0 5 4 30 2 0
## 2 0 0 0 0 0 0 0 5 4 10 2 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 2 1 2 0 0 0 2 4 20 2 0
## 5 0 0 0 0 0 0 0 0 0 20 2 0
## 6 0 0 0 0 0 0 0 3 4 30 2 0
## p28_7esp p29 p30 p31 p32 p32_6esp p33_1 p33_2 p33_3 p33_4 p34_1 p34_2 p34_3
## 1 2 3 2 0 2 2 2 2 2 2 2
## 2 2 3 2 0 2 2 2 2 2 2 2
## 3 0 0 0 3 2 2 2 2 2 2 2
## 4 2 3 1 0 2 2 2 2 1 1 2
## 5 2 3 2 0 2 2 2 2 2 2 2
## 6 4 4 2 0 2 2 2 2 3 3 1
## p34_3_1 p34_4 p34_4_1 p35 p36_1 p36_2 p36_3 p36_4 factor h_lec mat_lec
## 1 0 1 1 1 1 1 1 2 17463 1 2
## 2 0 1 1 1 1 1 1 1 37353 3 3
## 3 0 1 1 1 2 1 1 2 20668 4 4
## 4 0 1 1 1 1 1 1 1 30309 1 2
## 5 0 1 1 1 2 2 2 2 13886 1 1
## 6 2 1 1 1 1 1 1 1 33374 1 3
## perslec l_format r_format p_format perslecl
## 1 1 2 2 2 1
## 2 1 0 0 0 2
## 3 2 0 0 0 2
## 4 1 2 0 2 1
## 5 1 2 0 0 1
## 6 1 0 2 0 1
# View(M20) # Abre la hoja electrónica para visualizar los datos
# Dimensiones del dataset M20
dimensiones_M20 <- dim(M20) # Cantidad de filas (registros) y columnas (variables)
cat("El dataset M20 tiene", dimensiones_M20[1], "registros y", dimensiones_M20[2], "columnas.\n")
## El dataset M20 tiene 2010 registros y 108 columnas.
# Lista de variables cuantitativas (que NO deben cambiar 0 a NA)
variables_cuantitativas <- c("p4", "p7_3", "p10", "p13_3", "p16", "p19_3", "p26")
# Reemplazar los valores 0 por NA en las variables que no son cuantitativas
for (var in names(M20)) {
if (!(var %in% variables_cuantitativas)) {
M20[[var]][M20[[var]] == 0] <- NA
}
}
# Resumen general de las variables M20
summary(M20) # Proporciona un resumen que muestra la distribución de las variables y si hay datos faltantes
## folio entidad control viv_sel num_hog
## Length:2010 Min. : 1.0 Min. :40025 Min. :1.000 Min. :1
## Class :character 1st Qu.: 9.0 1st Qu.:40153 1st Qu.:2.000 1st Qu.:1
## Mode :character Median :15.0 Median :40248 Median :3.000 Median :1
## Mean :15.6 Mean :40307 Mean :2.517 Mean :1
## 3rd Qu.:20.0 3rd Qu.:40398 3rd Qu.:4.000 3rd Qu.:1
## Max. :32.0 Max. :41420 Max. :4.000 Max. :1
##
## hog_mud n_ren_el cd periodo sexo
## Min. :1.000 Min. : 1.000 Min. : 1.00 Min. :220 Min. :1.000
## 1st Qu.:1.000 1st Qu.: 1.000 1st Qu.: 2.00 1st Qu.:220 1st Qu.:1.000
## Median :1.000 Median : 1.000 Median : 9.00 Median :220 Median :2.000
## Mean :1.079 Mean : 1.734 Mean :14.01 Mean :220 Mean :1.552
## 3rd Qu.:1.000 3rd Qu.: 2.000 3rd Qu.:25.00 3rd Qu.:220 3rd Qu.:2.000
## Max. :2.000 Max. :10.000 Max. :43.00 Max. :220 Max. :2.000
## NA's :1922
## edad anio nivel cond_act
## Min. :18.00 Min. :1.00 Min. : 1.000 Min. : 1.000
## 1st Qu.:31.00 1st Qu.:3.00 1st Qu.: 3.000 1st Qu.: 1.000
## Median :44.00 Median :3.00 Median : 4.000 Median : 1.000
## Mean :45.49 Mean :3.47 Mean : 4.559 Mean : 3.289
## 3rd Qu.:58.00 3rd Qu.:4.00 3rd Qu.: 7.000 3rd Qu.: 7.000
## Max. :94.00 Max. :6.00 Max. :99.000 Max. :99.000
## NA's :65 NA's :62
## p1 p2 p3_1 p3_2
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :2.000 Median :2.000
## Mean :1.026 Mean :1.403 Mean :1.586 Mean :1.681
## 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## NA's :52 NA's :52 NA's :52
## p3_3 p3_4 p3_5 p4
## Min. :1.000 Min. :1.000 Min. :1.00 Min. : 0.000
## 1st Qu.:1.000 1st Qu.:2.000 1st Qu.:1.00 1st Qu.: 0.000
## Median :2.000 Median :2.000 Median :2.00 Median : 0.000
## Mean :1.699 Mean :1.955 Mean :1.63 Mean : 1.428
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.: 2.000
## Max. :2.000 Max. :2.000 Max. :2.00 Max. :60.000
## NA's :52 NA's :52 NA's :52
## p5 p5_6esp p6_1 p6_2
## Min. :1.000 Length:2010 Min. :1.000 Min. :1.000
## 1st Qu.:3.000 Class :character 1st Qu.:2.000 1st Qu.:1.000
## Median :4.000 Mode :character Median :2.000 Median :2.000
## Mean :3.296 Mean :1.929 Mean :1.686
## 3rd Qu.:4.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :6.000 Max. :2.000 Max. :2.000
## NA's :1199 NA's :1199 NA's :1199
## p6_3 p6_4 p6_5 p6_6
## Min. :1.0 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.0 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000
## Median :2.0 Median :2.000 Median :2.000 Median :2.000
## Mean :1.7 Mean :1.577 Mean :1.725 Mean :1.995
## 3rd Qu.:2.0 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.0 Max. :2.000 Max. :2.000 Max. :2.000
## NA's :1199 NA's :1199 NA's :1199 NA's :1199
## p6_6esp p7 p7_3 p8_1
## Length:2010 Min. :1.000 Min. : 0 Min. :1.000
## Class :character 1st Qu.:2.000 1st Qu.: 0 1st Qu.:2.000
## Mode :character Median :2.000 Median : 0 Median :2.000
## Mean :2.286 Mean : 1631 Mean :1.852
## 3rd Qu.:3.000 3rd Qu.: 0 3rd Qu.:2.000
## Max. :3.000 Max. :999999 Max. :2.000
## NA's :1199 NA's :1199
## p8_2 p9 p9_5esp p10
## Min. :1.000 Min. :1.000 Length:2010 Min. : 0.00
## 1st Qu.:1.000 1st Qu.:1.000 Class :character 1st Qu.: 0.00
## Median :1.000 Median :1.000 Mode :character Median : 0.00
## Mean :1.107 Mean :1.216 Mean : 1.12
## 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.: 2.00
## Max. :2.000 Max. :5.000 Max. :90.00
## NA's :1199 NA's :1199
## p11 p11_6esp p12_1 p12_2
## Min. :1.00 Length:2010 Min. :1.000 Min. :1.000
## 1st Qu.:3.00 Class :character 1st Qu.:2.000 1st Qu.:2.000
## Median :4.00 Mode :character Median :2.000 Median :2.000
## Mean :3.47 Mean :1.913 Mean :1.798
## 3rd Qu.:4.00 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :6.00 Max. :2.000 Max. :2.000
## NA's :1386 NA's :1386 NA's :1386
## p12_3 p12_4 p12_5 p12_6
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:2.000 1st Qu.:2.000
## Median :2.000 Median :2.000 Median :2.000 Median :2.000
## Mean :1.835 Mean :1.723 Mean :1.917 Mean :1.763
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## NA's :1386 NA's :1386 NA's :1386 NA's :1386
## p12_7 p12_8 p12_9 p12_9esp
## Min. :1.000 Min. :1.000 Min. :1.000 Length:2010
## 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:2.000 Class :character
## Median :2.000 Median :2.000 Median :2.000 Mode :character
## Mean :1.753 Mean :1.678 Mean :1.995
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000
## NA's :1386 NA's :1386 NA's :1386
## p13 p13_3 p14_1 p14_2
## Min. :1.000 Min. : 0.00 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.: 0.00 1st Qu.:2.000 1st Qu.:1.000
## Median :2.000 Median : 0.00 Median :2.000 Median :1.000
## Mean :2.301 Mean : 19.04 Mean :1.881 Mean :1.104
## 3rd Qu.:3.000 3rd Qu.: 0.00 3rd Qu.:2.000 3rd Qu.:1.000
## Max. :3.000 Max. :1200.00 Max. :2.000 Max. :2.000
## NA's :1386 NA's :1386 NA's :1386
## p15 p15_5esp p16 p17
## Min. :1.00 Length:2010 Min. : 0.000 Min. :1.000
## 1st Qu.:1.00 Class :character 1st Qu.: 0.000 1st Qu.:3.000
## Median :1.00 Mode :character Median : 0.000 Median :3.000
## Mean :1.29 Mean : 1.077 Mean :3.292
## 3rd Qu.:1.00 3rd Qu.: 1.000 3rd Qu.:4.000
## Max. :5.00 Max. :80.000 Max. :6.000
## NA's :1386 NA's :1420
## p17_6esp p18_1 p18_2 p18_3
## Length:2010 Min. :1.000 Min. :1.000 Min. :1.000
## Class :character 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Mode :character Median :1.000 Median :1.000 Median :1.000
## Mean :1.268 Mean :1.336 Mean :1.329
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000
## NA's :1420 NA's :1420 NA's :1420
## p18_4 p18_5 p19 p19_3
## Min. :1.000 Min. :1.000 Min. :1.000 Min. : 0.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000 1st Qu.: 0.000
## Median :1.000 Median :1.000 Median :2.000 Median : 0.000
## Mean :1.444 Mean :1.146 Mean :2.407 Mean : 6.793
## 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:3.000 3rd Qu.: 0.000
## Max. :2.000 Max. :2.000 Max. :3.000 Max. :1300.000
## NA's :1420 NA's :1420 NA's :1420
## p20_1 p20_2 p21 p21_5esp
## Min. :1.000 Min. :1.000 Min. :1.000 Length:2010
## 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:1.000 Class :character
## Median :2.000 Median :1.000 Median :1.000 Mode :character
## Mean :1.897 Mean :1.085 Mean :1.429
## 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :5.000
## NA's :1420 NA's :1420 NA's :1420
## p22 p23_1 p23_2 p24
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :3.000 Median :2.000 Median :1.000 Median :2.000
## Mean :3.236 Mean :1.674 Mean :1.281 Mean :2.137
## 3rd Qu.:5.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :5.000 Max. :2.000 Max. :2.000 Max. :5.000
## NA's :1921 NA's :1921 NA's :1921 NA's :1286
## p25 p25_6esp p26 p27
## Min. :1.000 Length:2010 Min. : 0.00 Min. :1.000
## 1st Qu.:2.000 Class :character 1st Qu.: 0.00 1st Qu.:2.000
## Median :3.000 Mode :character Median : 20.00 Median :2.000
## Mean :2.989 Mean : 28.25 Mean :1.832
## 3rd Qu.:4.000 3rd Qu.: 40.00 3rd Qu.:2.000
## Max. :6.000 Max. :480.00 Max. :2.000
## NA's :1286 NA's :599
## p28 p28_7esp p29 p30
## Min. :2.000 Length:2010 Min. :1.00 Min. :1.000
## 1st Qu.:5.000 Class :character 1st Qu.:2.00 1st Qu.:3.000
## Median :5.000 Mode :character Median :2.00 Median :3.000
## Mean :5.266 Mean :2.49 Mean :3.027
## 3rd Qu.:6.000 3rd Qu.:3.00 3rd Qu.:4.000
## Max. :7.000 Max. :4.00 Max. :4.000
## NA's :1773 NA's :599 NA's :599
## p31 p32 p32_6esp p33_1
## Min. :1.000 Min. :1.000 Length:2010 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 Class :character 1st Qu.:2.000
## Median :2.000 Median :3.000 Mode :character Median :2.000
## Mean :1.561 Mean :2.682 Mean :1.795
## 3rd Qu.:2.000 3rd Qu.:3.000 3rd Qu.:2.000
## Max. :2.000 Max. :6.000 Max. :2.000
## NA's :599 NA's :1463 NA's :52
## p33_2 p33_3 p33_4 p34_1
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:1.000
## Median :2.000 Median :2.000 Median :2.000 Median :2.000
## Mean :1.868 Mean :1.914 Mean :1.826 Mean :1.727
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :3.000
## NA's :52 NA's :52 NA's :52 NA's :52
## p34_2 p34_3 p34_3_1 p34_4 p34_4_1
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.00 Min. :1.00
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.00 1st Qu.:1.00
## Median :1.000 Median :2.000 Median :2.000 Median :1.00 Median :1.00
## Mean :1.494 Mean :1.668 Mean :1.688 Mean :1.45 Mean :1.81
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.:2.00
## Max. :3.000 Max. :3.000 Max. :3.000 Max. :3.00 Max. :6.00
## NA's :52 NA's :52 NA's :1337 NA's :52 NA's :876
## p35 p36_1 p36_2 p36_3 p36_4
## Min. :1.000 Min. :1.0 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.0 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.0 Median :1.000 Median :1.000 Median :1.000
## Mean :1.015 Mean :1.5 Mean :1.261 Mean :1.377 Mean :1.461
## 3rd Qu.:1.000 3rd Qu.:2.0 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :3.0 Max. :3.000 Max. :3.000 Max. :3.000
## NA's :52 NA's :81 NA's :81 NA's :81 NA's :81
## factor h_lec mat_lec perslec
## Min. : 2976 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:12684 1st Qu.:1.000 1st Qu.:2.000 1st Qu.:1.000
## Median :17143 Median :1.000 Median :3.000 Median :1.000
## Mean :19353 Mean :2.086 Mean :2.784 Mean :1.279
## 3rd Qu.:24472 3rd Qu.:3.000 3rd Qu.:4.000 3rd Qu.:2.000
## Max. :84991 Max. :4.000 Max. :4.000 Max. :2.000
## NA's :52 NA's :52 NA's :52
## l_format r_format p_format perslecl
## Min. :1.000 Min. :1.00 Min. :1.000 Min. :1.00
## 1st Qu.:2.000 1st Qu.:2.00 1st Qu.:2.000 1st Qu.:1.00
## Median :2.000 Median :2.00 Median :2.000 Median :1.00
## Mean :1.933 Mean :1.91 Mean :1.934 Mean :1.34
## 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.:2.000 3rd Qu.:2.00
## Max. :3.000 Max. :3.00 Max. :3.000 Max. :2.00
## NA's :1199 NA's :1386 NA's :1420 NA's :52
# Verificación de datos faltantes en M20
na_totales_M20 <- sum(is.na(M20)) # Número total de datos faltantes en todo el dataset
cat("Hay un total de", na_totales_M20, "datos faltantes en el dataset M20.\n")
## Hay un total de 70339 datos faltantes en el dataset M20.
# Revisión de datos faltantes por variable en M20
na_por_variable_M20 <- colSums(is.na(M20)) # Número de datos faltantes por cada variable
porcentaje_na_por_variable_M20 <- colMeans(is.na(M20)) * 100 # Porcentaje de datos faltantes por variable
# Mostrar las variables con valores faltantes y su porcentaje en M20
cat("Variables con datos faltantes en M20:\n")
## Variables con datos faltantes en M20:
for (i in 1:ncol(M20)) {
if (porcentaje_na_por_variable_M20[i] > 0) {
cat(names(M20)[i], "tiene", na_por_variable_M20[i], "valores faltantes (", round(porcentaje_na_por_variable_M20[i], 2), "%).\n")
}
}
## hog_mud tiene 1922 valores faltantes ( 95.62 %).
## anio tiene 65 valores faltantes ( 3.23 %).
## nivel tiene 62 valores faltantes ( 3.08 %).
## p2 tiene 52 valores faltantes ( 2.59 %).
## p3_1 tiene 52 valores faltantes ( 2.59 %).
## p3_2 tiene 52 valores faltantes ( 2.59 %).
## p3_3 tiene 52 valores faltantes ( 2.59 %).
## p3_4 tiene 52 valores faltantes ( 2.59 %).
## p3_5 tiene 52 valores faltantes ( 2.59 %).
## p5 tiene 1199 valores faltantes ( 59.65 %).
## p6_1 tiene 1199 valores faltantes ( 59.65 %).
## p6_2 tiene 1199 valores faltantes ( 59.65 %).
## p6_3 tiene 1199 valores faltantes ( 59.65 %).
## p6_4 tiene 1199 valores faltantes ( 59.65 %).
## p6_5 tiene 1199 valores faltantes ( 59.65 %).
## p6_6 tiene 1199 valores faltantes ( 59.65 %).
## p7 tiene 1199 valores faltantes ( 59.65 %).
## p8_1 tiene 1199 valores faltantes ( 59.65 %).
## p8_2 tiene 1199 valores faltantes ( 59.65 %).
## p9 tiene 1199 valores faltantes ( 59.65 %).
## p11 tiene 1386 valores faltantes ( 68.96 %).
## p12_1 tiene 1386 valores faltantes ( 68.96 %).
## p12_2 tiene 1386 valores faltantes ( 68.96 %).
## p12_3 tiene 1386 valores faltantes ( 68.96 %).
## p12_4 tiene 1386 valores faltantes ( 68.96 %).
## p12_5 tiene 1386 valores faltantes ( 68.96 %).
## p12_6 tiene 1386 valores faltantes ( 68.96 %).
## p12_7 tiene 1386 valores faltantes ( 68.96 %).
## p12_8 tiene 1386 valores faltantes ( 68.96 %).
## p12_9 tiene 1386 valores faltantes ( 68.96 %).
## p13 tiene 1386 valores faltantes ( 68.96 %).
## p14_1 tiene 1386 valores faltantes ( 68.96 %).
## p14_2 tiene 1386 valores faltantes ( 68.96 %).
## p15 tiene 1386 valores faltantes ( 68.96 %).
## p17 tiene 1420 valores faltantes ( 70.65 %).
## p18_1 tiene 1420 valores faltantes ( 70.65 %).
## p18_2 tiene 1420 valores faltantes ( 70.65 %).
## p18_3 tiene 1420 valores faltantes ( 70.65 %).
## p18_4 tiene 1420 valores faltantes ( 70.65 %).
## p18_5 tiene 1420 valores faltantes ( 70.65 %).
## p19 tiene 1420 valores faltantes ( 70.65 %).
## p20_1 tiene 1420 valores faltantes ( 70.65 %).
## p20_2 tiene 1420 valores faltantes ( 70.65 %).
## p21 tiene 1420 valores faltantes ( 70.65 %).
## p22 tiene 1921 valores faltantes ( 95.57 %).
## p23_1 tiene 1921 valores faltantes ( 95.57 %).
## p23_2 tiene 1921 valores faltantes ( 95.57 %).
## p24 tiene 1286 valores faltantes ( 63.98 %).
## p25 tiene 1286 valores faltantes ( 63.98 %).
## p27 tiene 599 valores faltantes ( 29.8 %).
## p28 tiene 1773 valores faltantes ( 88.21 %).
## p29 tiene 599 valores faltantes ( 29.8 %).
## p30 tiene 599 valores faltantes ( 29.8 %).
## p31 tiene 599 valores faltantes ( 29.8 %).
## p32 tiene 1463 valores faltantes ( 72.79 %).
## p33_1 tiene 52 valores faltantes ( 2.59 %).
## p33_2 tiene 52 valores faltantes ( 2.59 %).
## p33_3 tiene 52 valores faltantes ( 2.59 %).
## p33_4 tiene 52 valores faltantes ( 2.59 %).
## p34_1 tiene 52 valores faltantes ( 2.59 %).
## p34_2 tiene 52 valores faltantes ( 2.59 %).
## p34_3 tiene 52 valores faltantes ( 2.59 %).
## p34_3_1 tiene 1337 valores faltantes ( 66.52 %).
## p34_4 tiene 52 valores faltantes ( 2.59 %).
## p34_4_1 tiene 876 valores faltantes ( 43.58 %).
## p35 tiene 52 valores faltantes ( 2.59 %).
## p36_1 tiene 81 valores faltantes ( 4.03 %).
## p36_2 tiene 81 valores faltantes ( 4.03 %).
## p36_3 tiene 81 valores faltantes ( 4.03 %).
## p36_4 tiene 81 valores faltantes ( 4.03 %).
## h_lec tiene 52 valores faltantes ( 2.59 %).
## mat_lec tiene 52 valores faltantes ( 2.59 %).
## perslec tiene 52 valores faltantes ( 2.59 %).
## l_format tiene 1199 valores faltantes ( 59.65 %).
## r_format tiene 1386 valores faltantes ( 68.96 %).
## p_format tiene 1420 valores faltantes ( 70.65 %).
## perslecl tiene 52 valores faltantes ( 2.59 %).
# Repetir los mismos pasos para el dataset M24
# Ver la estructura del dataset M24
str(M24) # Muestra la estructura de la base de datos
## 'data.frame': 2016 obs. of 108 variables:
## $ folio : chr "12B221" "12B221" "12B221" "12B221" ...
## $ entidad : int 1 1 1 1 1 1 1 1 1 1 ...
## $ control : int 40002 40002 40002 40002 40003 40003 40003 40003 40028 40028 ...
## $ viv_sel : int 2 1 3 4 1 2 4 3 2 3 ...
## $ num_hog : int 1 1 1 1 1 1 1 1 1 1 ...
## $ hog_mud : int 0 0 0 0 0 0 0 0 0 0 ...
## $ n_ren_el: int 1 1 1 2 1 1 1 2 1 1 ...
## $ cd : int 14 14 14 14 14 14 14 14 14 14 ...
## $ periodo : int 224 224 224 224 224 224 224 224 224 224 ...
## $ sexo : int 1 1 1 1 1 1 2 2 1 2 ...
## $ edad : int 52 55 59 30 54 30 66 45 26 41 ...
## $ nivel : int 3 3 3 4 3 4 2 3 4 4 ...
## $ anio : int 3 3 3 3 3 3 6 3 3 3 ...
## $ cond_act: int 9 1 1 1 1 1 7 7 1 1 ...
## $ p1 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ p2 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p3_1 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p3_2 : int 2 2 2 2 2 2 2 2 1 2 ...
## $ p3_3 : int 2 2 2 2 1 2 2 2 1 2 ...
## $ p3_4 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p3_5 : int 2 2 2 2 2 1 2 2 1 1 ...
## $ p4 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p5 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p5_6esp : chr "" "" "" "" ...
## $ p6_1 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p6_2 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p6_3 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p6_4 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p6_5 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p6_6 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p6_6esp : chr "" "" "" "" ...
## $ p7 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p7_3 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p8_1 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p8_2 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p9 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p9_5esp : chr "" "" "" "" ...
## $ p10 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p11 : int 0 0 0 0 0 0 0 0 4 0 ...
## $ p11_6esp: chr "" "" "" "" ...
## $ p12_1 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p12_2 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p12_3 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p12_4 : int 0 0 0 0 0 0 0 0 1 0 ...
## $ p12_5 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p12_6 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p12_7 : int 0 0 0 0 0 0 0 0 1 0 ...
## $ p12_8 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p12_9 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p12_9esp: chr "" "" "" "" ...
## $ p13 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p13_3 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p14_1 : int 0 0 0 0 0 0 0 0 1 0 ...
## $ p14_2 : int 0 0 0 0 0 0 0 0 2 0 ...
## $ p15 : int 0 0 0 0 0 0 0 0 1 0 ...
## $ p15_5esp: chr "" "" "" "" ...
## $ p16 : int 0 0 0 0 1 0 0 0 1 0 ...
## $ p17 : int 0 0 0 0 4 0 0 0 4 0 ...
## $ p17_6esp: chr "" "" "" "" ...
## $ p18_1 : int 0 0 0 0 1 0 0 0 1 0 ...
## $ p18_2 : int 0 0 0 0 1 0 0 0 2 0 ...
## $ p18_3 : int 0 0 0 0 1 0 0 0 1 0 ...
## $ p18_4 : int 0 0 0 0 1 0 0 0 1 0 ...
## $ p18_5 : int 0 0 0 0 1 0 0 0 1 0 ...
## $ p19 : int 0 0 0 0 2 0 0 0 2 0 ...
## $ p19_3 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p20_1 : int 0 0 0 0 1 0 0 0 1 0 ...
## $ p20_2 : int 0 0 0 0 2 0 0 0 2 0 ...
## $ p21 : int 0 0 0 0 1 0 0 0 2 0 ...
## $ p21_5esp: chr "" "" "" "" ...
## $ p22 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p23_1 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p23_2 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p24 : int 0 0 0 0 0 5 0 0 5 5 ...
## $ p25 : int 0 0 0 0 0 4 0 0 1 4 ...
## $ p25_6esp: chr "" "" "" "" ...
## $ p26 : int 0 0 0 0 20 15 0 0 20 10 ...
## $ p27 : int 0 0 0 0 2 2 0 0 2 2 ...
## $ p28 : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p28_7esp: chr "" "" "" "" ...
## $ p29 : int 0 0 0 0 2 2 0 0 2 2 ...
## $ p30 : int 0 0 0 0 3 3 0 0 3 3 ...
## $ p31 : int 0 0 0 0 2 2 0 0 2 2 ...
## $ p32 : int 5 2 3 4 0 0 2 3 0 0 ...
## $ p32_6esp: chr "" "" "" "" ...
## $ p33_1 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p33_2 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p33_3 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p33_4 : int 2 2 2 2 2 2 2 2 2 2 ...
## $ p34_1 : int 2 2 2 2 2 1 2 2 1 1 ...
## $ p34_2 : int 1 2 1 2 2 1 1 2 1 1 ...
## $ p34_3 : int 2 2 2 2 2 1 2 2 1 1 ...
## $ p34_3_1 : int 0 0 0 0 0 1 0 0 2 1 ...
## $ p34_4 : int 1 2 1 1 1 1 1 1 1 1 ...
## $ p34_4_1 : int 1 0 1 1 1 1 1 1 1 1 ...
## $ p35 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ p36_1 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ p36_2 : int 1 1 1 1 1 1 1 1 1 1 ...
## $ p36_3 : int 1 1 1 1 1 1 1 1 1 1 ...
## [list output truncated]
names(M24) # Muestra los nombres de las variables
## [1] "folio" "entidad" "control" "viv_sel" "num_hog" "hog_mud"
## [7] "n_ren_el" "cd" "periodo" "sexo" "edad" "nivel"
## [13] "anio" "cond_act" "p1" "p2" "p3_1" "p3_2"
## [19] "p3_3" "p3_4" "p3_5" "p4" "p5" "p5_6esp"
## [25] "p6_1" "p6_2" "p6_3" "p6_4" "p6_5" "p6_6"
## [31] "p6_6esp" "p7" "p7_3" "p8_1" "p8_2" "p9"
## [37] "p9_5esp" "p10" "p11" "p11_6esp" "p12_1" "p12_2"
## [43] "p12_3" "p12_4" "p12_5" "p12_6" "p12_7" "p12_8"
## [49] "p12_9" "p12_9esp" "p13" "p13_3" "p14_1" "p14_2"
## [55] "p15" "p15_5esp" "p16" "p17" "p17_6esp" "p18_1"
## [61] "p18_2" "p18_3" "p18_4" "p18_5" "p19" "p19_3"
## [67] "p20_1" "p20_2" "p21" "p21_5esp" "p22" "p23_1"
## [73] "p23_2" "p24" "p25" "p25_6esp" "p26" "p27"
## [79] "p28" "p28_7esp" "p29" "p30" "p31" "p32"
## [85] "p32_6esp" "p33_1" "p33_2" "p33_3" "p33_4" "p34_1"
## [91] "p34_2" "p34_3" "p34_3_1" "p34_4" "p34_4_1" "p35"
## [97] "p36_1" "p36_2" "p36_3" "p36_4" "factor" "h_lec"
## [103] "mat_lec" "perslec" "l_format" "r_format" "p_format" "perslecl"
head(M24) # Muestra las primeras 6 filas
## folio entidad control viv_sel num_hog hog_mud n_ren_el cd periodo sexo edad
## 1 12B221 1 40002 2 1 0 1 14 224 1 52
## 2 12B221 1 40002 1 1 0 1 14 224 1 55
## 3 12B221 1 40002 3 1 0 1 14 224 1 59
## 4 12B221 1 40002 4 1 0 2 14 224 1 30
## 5 11B213 1 40003 1 1 0 1 14 224 1 54
## 6 11B213 1 40003 2 1 0 1 14 224 1 30
## nivel anio cond_act p1 p2 p3_1 p3_2 p3_3 p3_4 p3_5 p4 p5 p5_6esp p6_1 p6_2
## 1 3 3 9 1 2 2 2 2 2 2 0 0 0 0
## 2 3 3 1 1 2 2 2 2 2 2 0 0 0 0
## 3 3 3 1 1 2 2 2 2 2 2 0 0 0 0
## 4 4 3 1 1 2 2 2 2 2 2 0 0 0 0
## 5 3 3 1 1 2 2 2 1 2 2 0 0 0 0
## 6 4 3 1 1 2 2 2 2 2 1 0 0 0 0
## p6_3 p6_4 p6_5 p6_6 p6_6esp p7 p7_3 p8_1 p8_2 p9 p9_5esp p10 p11 p11_6esp
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## p12_1 p12_2 p12_3 p12_4 p12_5 p12_6 p12_7 p12_8 p12_9 p12_9esp p13 p13_3
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 0 0 0 0 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0 0
## p14_1 p14_2 p15 p15_5esp p16 p17 p17_6esp p18_1 p18_2 p18_3 p18_4 p18_5 p19
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 0 0 1 4 1 1 1 1 1 2
## 6 0 0 0 0 0 0 0 0 0 0 0
## p19_3 p20_1 p20_2 p21 p21_5esp p22 p23_1 p23_2 p24 p25 p25_6esp p26 p27 p28
## 1 0 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 0 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0 0
## 5 0 1 2 1 0 0 0 0 0 20 2 0
## 6 0 0 0 0 0 0 0 5 4 15 2 0
## p28_7esp p29 p30 p31 p32 p32_6esp p33_1 p33_2 p33_3 p33_4 p34_1 p34_2 p34_3
## 1 0 0 0 5 2 2 2 2 2 1 2
## 2 0 0 0 2 2 2 2 2 2 2 2
## 3 0 0 0 3 2 2 2 2 2 1 2
## 4 0 0 0 4 2 2 2 2 2 2 2
## 5 2 3 2 0 2 2 2 2 2 2 2
## 6 2 3 2 0 2 2 2 2 1 1 1
## p34_3_1 p34_4 p34_4_1 p35 p36_1 p36_2 p36_3 p36_4 factor h_lec mat_lec
## 1 0 1 1 1 1 1 1 2 36731 4 4
## 2 0 2 0 1 1 1 1 2 9183 4 4
## 3 0 1 1 1 1 1 1 2 36731 4 4
## 4 0 1 1 1 1 1 1 1 18365 4 4
## 5 0 1 1 1 1 1 1 2 7488 3 3
## 6 1 1 1 1 1 1 1 1 7488 3 3
## perslec l_format r_format p_format perslecl
## 1 2 0 0 0 2
## 2 2 0 0 0 2
## 3 2 0 0 0 2
## 4 2 0 0 0 2
## 5 1 0 0 1 1
## 6 1 0 0 0 2
# View(M24) # Abre la hoja electrónica para visualizar los datos
# Dimensiones del dataset M24
dimensiones_M24 <- dim(M24) # Cantidad de filas (registros) y columnas (variables)
cat("El dataset M24 tiene", dimensiones_M24[1], "registros y", dimensiones_M24[2], " columnas.\n")
## El dataset M24 tiene 2016 registros y 108 columnas.
# Reemplazar los valores 0 por NA en las variables que no son cuantitativas en M24
for (var in names(M24)) {
if (!(var %in% variables_cuantitativas)) {
M24[[var]][M24[[var]] == 0] <- NA
}
}
# Resumen general de las variables M24
summary(M24) # Proporciona un resumen que muestra la distribución de las variables y si hay datos faltantes
## folio entidad control viv_sel num_hog
## Length:2016 Min. : 1.00 Min. :40001 Min. :1.000 Min. :1
## Class :character 1st Qu.: 9.00 1st Qu.:40095 1st Qu.:1.750 1st Qu.:1
## Mode :character Median :15.00 Median :40190 Median :2.000 Median :1
## Mean :15.58 Mean :40244 Mean :2.493 Mean :1
## 3rd Qu.:20.25 3rd Qu.:40315 3rd Qu.:3.000 3rd Qu.:1
## Max. :32.00 Max. :41419 Max. :4.000 Max. :1
##
## hog_mud n_ren_el cd periodo sexo
## Min. :1.000 Min. :1.000 Min. : 1.00 Min. :224 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.: 2.00 1st Qu.:224 1st Qu.:1.000
## Median :1.000 Median :1.000 Median : 9.00 Median :224 Median :2.000
## Mean :1.045 Mean :1.673 Mean :13.74 Mean :224 Mean :1.574
## 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:25.00 3rd Qu.:224 3rd Qu.:2.000
## Max. :2.000 Max. :8.000 Max. :43.00 Max. :224 Max. :2.000
## NA's :1949
## edad nivel anio cond_act
## Min. :18.00 Min. : 2.000 Min. :1.000 Min. : 1.000
## 1st Qu.:33.00 1st Qu.: 3.000 1st Qu.:3.000 1st Qu.: 1.000
## Median :46.00 Median : 4.000 Median :3.000 Median : 1.000
## Mean :46.49 Mean : 4.766 Mean :3.456 Mean : 3.325
## 3rd Qu.:59.00 3rd Qu.: 7.000 3rd Qu.:4.000 3rd Qu.: 7.000
## Max. :94.00 Max. :99.000 Max. :9.000 Max. :10.000
## NA's :45 NA's :48
## p1 p2 p3_1 p3_2
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000
## Median :1.000 Median :1.000 Median :2.000 Median :2.000
## Mean :1.023 Mean :1.439 Mean :1.589 Mean :1.786
## 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## NA's :47 NA's :47 NA's :47
## p3_3 p3_4 p3_5 p4
## Min. :1.000 Min. :1.000 Min. :1.000 Min. : 0.000
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:1.000 1st Qu.: 0.000
## Median :2.000 Median :2.000 Median :2.000 Median : 0.000
## Mean :1.823 Mean :1.958 Mean :1.626 Mean : 1.275
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.: 2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :70.000
## NA's :47 NA's :47 NA's :47
## p5 p5_6esp p6_1 p6_2
## Min. :1.000 Length:2016 Min. :1.000 Min. :1.00
## 1st Qu.:3.000 Class :character 1st Qu.:2.000 1st Qu.:1.00
## Median :4.000 Mode :character Median :2.000 Median :2.00
## Mean :3.358 Mean :1.925 Mean :1.71
## 3rd Qu.:4.000 3rd Qu.:2.000 3rd Qu.:2.00
## Max. :6.000 Max. :2.000 Max. :2.00
## NA's :1207 NA's :1207 NA's :1207
## p6_3 p6_4 p6_5 p6_6
## Min. :1.000 Min. :1.000 Min. :1.00 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.00 1st Qu.:2.000
## Median :2.000 Median :2.000 Median :2.00 Median :2.000
## Mean :1.684 Mean :1.609 Mean :1.78 Mean :1.995
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.00 Max. :2.000
## NA's :1207 NA's :1207 NA's :1207 NA's :1207
## p6_6esp p7 p7_3 p8_1
## Length:2016 Min. :1.000 Min. : 0 Min. :1.000
## Class :character 1st Qu.:2.000 1st Qu.: 0 1st Qu.:2.000
## Mode :character Median :2.000 Median : 0 Median :2.000
## Mean :2.141 Mean : 3115 Mean :1.758
## 3rd Qu.:3.000 3rd Qu.: 0 3rd Qu.:2.000
## Max. :3.000 Max. :999999 Max. :2.000
## NA's :1207 NA's :1207
## p8_2 p9 p9_5esp p10
## Min. :1.000 Min. :1.000 Length:2016 Min. : 0.0000
## 1st Qu.:1.000 1st Qu.:1.000 Class :character 1st Qu.: 0.0000
## Median :1.000 Median :1.000 Mode :character Median : 0.0000
## Mean :1.189 Mean :1.129 Mean : 0.6349
## 3rd Qu.:1.000 3rd Qu.:1.000 3rd Qu.: 0.0000
## Max. :2.000 Max. :5.000 Max. :25.0000
## NA's :1207 NA's :1207
## p11 p11_6esp p12_1 p12_2
## Min. :1.000 Length:2016 Min. :1.000 Min. :1.000
## 1st Qu.:3.000 Class :character 1st Qu.:2.000 1st Qu.:2.000
## Median :4.000 Mode :character Median :2.000 Median :2.000
## Mean :3.508 Mean :1.903 Mean :1.831
## 3rd Qu.:4.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :6.000 Max. :2.000 Max. :2.000
## NA's :1595 NA's :1595 NA's :1595
## p12_3 p12_4 p12_5 p12_6
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000
## Median :2.000 Median :2.000 Median :2.000 Median :2.000
## Mean :1.777 Mean :1.805 Mean :1.857 Mean :1.777
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000 Max. :2.000
## NA's :1595 NA's :1595 NA's :1595 NA's :1595
## p12_7 p12_8 p12_9 p12_9esp
## Min. :1.000 Min. :1.000 Min. :1.000 Length:2016
## 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:2.000 Class :character
## Median :2.000 Median :2.000 Median :2.000 Mode :character
## Mean :1.767 Mean :1.706 Mean :1.998
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000
## NA's :1595 NA's :1595 NA's :1595
## p13 p13_3 p14_1 p14_2
## Min. :1.000 Min. : 0.0 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.: 0.0 1st Qu.:2.000 1st Qu.:1.000
## Median :2.000 Median : 0.0 Median :2.000 Median :1.000
## Mean :2.074 Mean : 506.5 Mean :1.782 Mean :1.183
## 3rd Qu.:3.000 3rd Qu.: 0.0 3rd Qu.:2.000 3rd Qu.:1.000
## Max. :3.000 Max. :999999.0 Max. :2.000 Max. :2.000
## NA's :1595 NA's :1595 NA's :1595
## p15 p15_5esp p16 p17
## Min. :1.000 Length:2016 Min. : 0.0000 Min. :1.000
## 1st Qu.:1.000 Class :character 1st Qu.: 0.0000 1st Qu.:3.000
## Median :1.000 Mode :character Median : 0.0000 Median :3.000
## Mean :1.287 Mean : 0.5749 Mean :3.356
## 3rd Qu.:1.000 3rd Qu.: 0.0000 3rd Qu.:4.000
## Max. :5.000 Max. :60.0000 Max. :6.000
## NA's :1595 NA's :1668
## p17_6esp p18_1 p18_2 p18_3
## Length:2016 Min. :1.000 Min. :1.000 Min. :1.000
## Class :character 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Mode :character Median :1.000 Median :1.000 Median :1.000
## Mean :1.253 Mean :1.316 Mean :1.368
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :2.000
## NA's :1668 NA's :1668 NA's :1668
## p18_4 p18_5 p19 p19_3
## Min. :1.000 Min. :1.000 Min. :1.000 Min. : 0.0
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:2.000 1st Qu.: 0.0
## Median :2.000 Median :1.000 Median :2.000 Median : 0.0
## Mean :1.503 Mean :1.236 Mean :2.261 Mean : 995.8
## 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:3.000 3rd Qu.: 0.0
## Max. :2.000 Max. :2.000 Max. :3.000 Max. :999999.0
## NA's :1668 NA's :1668 NA's :1668
## p20_1 p20_2 p21 p21_5esp
## Min. :1.000 Min. :1.000 Min. :1.000 Length:2016
## 1st Qu.:2.000 1st Qu.:1.000 1st Qu.:1.000 Class :character
## Median :2.000 Median :1.000 Median :1.000 Mode :character
## Mean :1.805 Mean :1.181 Mean :1.397
## 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:2.000
## Max. :2.000 Max. :2.000 Max. :5.000
## NA's :1668 NA's :1668 NA's :1668
## p22 p23_1 p23_2 p24 p25
## Min. :1.000 Min. :1.00 Min. :1.00 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:1.00 1st Qu.:1.00 1st Qu.:1.000 1st Qu.:3.000
## Median :3.000 Median :1.00 Median :2.00 Median :2.000 Median :3.000
## Mean :3.506 Mean :1.41 Mean :1.53 Mean :2.184 Mean :3.054
## 3rd Qu.:5.000 3rd Qu.:2.00 3rd Qu.:2.00 3rd Qu.:2.000 3rd Qu.:4.000
## Max. :5.000 Max. :2.00 Max. :2.00 Max. :5.000 Max. :6.000
## NA's :1933 NA's :1933 NA's :1933 NA's :1279 NA's :1279
## p25_6esp p26 p27 p28
## Length:2016 Min. : 0.00 Min. :1.000 Min. :1.000
## Class :character 1st Qu.: 0.00 1st Qu.:2.000 1st Qu.:5.000
## Mode :character Median : 20.00 Median :2.000 Median :5.000
## Mean : 26.78 Mean :1.836 Mean :5.081
## 3rd Qu.: 30.00 3rd Qu.:2.000 3rd Qu.:6.000
## Max. :360.00 Max. :2.000 Max. :7.000
## NA's :666 NA's :1795
## p28_7esp p29 p30 p31
## Length:2016 Min. :1.000 Min. :1.000 Min. :1.000
## Class :character 1st Qu.:2.000 1st Qu.:3.000 1st Qu.:1.000
## Mode :character Median :2.000 Median :3.000 Median :2.000
## Mean :2.508 Mean :2.978 Mean :1.576
## 3rd Qu.:3.000 3rd Qu.:3.000 3rd Qu.:2.000
## Max. :4.000 Max. :4.000 Max. :2.000
## NA's :666 NA's :666 NA's :666
## p32 p32_6esp p33_1 p33_2
## Min. :1.000 Length:2016 Min. :1.00 Min. :1.000
## 1st Qu.:1.000 Class :character 1st Qu.:2.00 1st Qu.:2.000
## Median :3.000 Mode :character Median :2.00 Median :2.000
## Mean :2.662 Mean :1.83 Mean :1.913
## 3rd Qu.:3.000 3rd Qu.:2.00 3rd Qu.:2.000
## Max. :6.000 Max. :2.00 Max. :2.000
## NA's :1397 NA's :47 NA's :47
## p33_3 p33_4 p34_1 p34_2 p34_3
## Min. :1.000 Min. :1.000 Min. :1.00 Min. :1.000 Min. :1.00
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:1.00 1st Qu.:1.000 1st Qu.:1.00
## Median :2.000 Median :2.000 Median :2.00 Median :2.000 Median :2.00
## Mean :1.932 Mean :1.867 Mean :1.71 Mean :1.512 Mean :1.68
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.00 3rd Qu.:2.000 3rd Qu.:2.00
## Max. :2.000 Max. :2.000 Max. :3.00 Max. :3.000 Max. :3.00
## NA's :47 NA's :47 NA's :47 NA's :47 NA's :47
## p34_3_1 p34_4 p34_4_1 p35
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :2.000 Median :1.000 Median :1.000 Median :1.000
## Mean :1.646 Mean :1.461 Mean :1.793 Mean :1.011
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:1.000
## Max. :3.000 Max. :3.000 Max. :6.000 Max. :2.000
## NA's :1350 NA's :47 NA's :894 NA's :47
## p36_1 p36_2 p36_3 p36_4
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000 1st Qu.:1.000
## Median :1.000 Median :1.000 Median :1.000 Median :1.000
## Mean :1.404 Mean :1.229 Mean :1.338 Mean :1.446
## 3rd Qu.:2.000 3rd Qu.:1.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :3.000 Max. :3.000 Max. :3.000 Max. :3.000
## NA's :68 NA's :68 NA's :68 NA's :68
## factor h_lec mat_lec perslec
## Min. : 3576 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.: 12994 1st Qu.:1.000 1st Qu.:2.000 1st Qu.:1.000
## Median : 18445 Median :1.000 Median :3.000 Median :1.000
## Mean : 21196 Mean :2.192 Mean :2.779 Mean :1.314
## 3rd Qu.: 26839 3rd Qu.:4.000 3rd Qu.:4.000 3rd Qu.:2.000
## Max. :124941 Max. :4.000 Max. :4.000 Max. :2.000
## NA's :47 NA's :47 NA's :47
## l_format r_format p_format perslecl
## Min. :1.000 Min. :1.000 Min. :1.000 Min. :1.000
## 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:2.000 1st Qu.:1.000
## Median :2.000 Median :2.000 Median :2.000 Median :1.000
## Mean :1.864 Mean :1.853 Mean :1.833 Mean :1.409
## 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000 3rd Qu.:2.000
## Max. :3.000 Max. :3.000 Max. :3.000 Max. :2.000
## NA's :1207 NA's :1595 NA's :1668 NA's :47
# Verificación de datos faltantes en M24
na_totales_M24 <- sum(is.na(M24)) # Número total de datos faltantes en todo el dataset
cat("Hay un total de", na_totales_M24, "datos faltantes en el dataset M24.\n")
## Hay un total de 76421 datos faltantes en el dataset M24.
# Revisión de datos faltantes por variable en M24
na_por_variable_M24 <- colSums(is.na(M24)) # Número de datos faltantes por cada variable
porcentaje_na_por_variable_M24 <- colMeans(is.na(M24)) * 100 # Porcentaje de datos faltantes por variable
# Mostrar las variables con valores faltantes y su porcentaje en M24
cat("Variables con datos faltantes en M24:\n")
## Variables con datos faltantes en M24:
for (i in 1:ncol(M24)) {
if (porcentaje_na_por_variable_M24[i] > 0) {
cat(names(M24)[i], "tiene", na_por_variable_M24[i], "valores faltantes (", round(porcentaje_na_por_variable_M24[i], 2), "%).\n")
}
}
## hog_mud tiene 1949 valores faltantes ( 96.68 %).
## nivel tiene 45 valores faltantes ( 2.23 %).
## anio tiene 48 valores faltantes ( 2.38 %).
## p2 tiene 47 valores faltantes ( 2.33 %).
## p3_1 tiene 47 valores faltantes ( 2.33 %).
## p3_2 tiene 47 valores faltantes ( 2.33 %).
## p3_3 tiene 47 valores faltantes ( 2.33 %).
## p3_4 tiene 47 valores faltantes ( 2.33 %).
## p3_5 tiene 47 valores faltantes ( 2.33 %).
## p5 tiene 1207 valores faltantes ( 59.87 %).
## p6_1 tiene 1207 valores faltantes ( 59.87 %).
## p6_2 tiene 1207 valores faltantes ( 59.87 %).
## p6_3 tiene 1207 valores faltantes ( 59.87 %).
## p6_4 tiene 1207 valores faltantes ( 59.87 %).
## p6_5 tiene 1207 valores faltantes ( 59.87 %).
## p6_6 tiene 1207 valores faltantes ( 59.87 %).
## p7 tiene 1207 valores faltantes ( 59.87 %).
## p8_1 tiene 1207 valores faltantes ( 59.87 %).
## p8_2 tiene 1207 valores faltantes ( 59.87 %).
## p9 tiene 1207 valores faltantes ( 59.87 %).
## p11 tiene 1595 valores faltantes ( 79.12 %).
## p12_1 tiene 1595 valores faltantes ( 79.12 %).
## p12_2 tiene 1595 valores faltantes ( 79.12 %).
## p12_3 tiene 1595 valores faltantes ( 79.12 %).
## p12_4 tiene 1595 valores faltantes ( 79.12 %).
## p12_5 tiene 1595 valores faltantes ( 79.12 %).
## p12_6 tiene 1595 valores faltantes ( 79.12 %).
## p12_7 tiene 1595 valores faltantes ( 79.12 %).
## p12_8 tiene 1595 valores faltantes ( 79.12 %).
## p12_9 tiene 1595 valores faltantes ( 79.12 %).
## p13 tiene 1595 valores faltantes ( 79.12 %).
## p14_1 tiene 1595 valores faltantes ( 79.12 %).
## p14_2 tiene 1595 valores faltantes ( 79.12 %).
## p15 tiene 1595 valores faltantes ( 79.12 %).
## p17 tiene 1668 valores faltantes ( 82.74 %).
## p18_1 tiene 1668 valores faltantes ( 82.74 %).
## p18_2 tiene 1668 valores faltantes ( 82.74 %).
## p18_3 tiene 1668 valores faltantes ( 82.74 %).
## p18_4 tiene 1668 valores faltantes ( 82.74 %).
## p18_5 tiene 1668 valores faltantes ( 82.74 %).
## p19 tiene 1668 valores faltantes ( 82.74 %).
## p20_1 tiene 1668 valores faltantes ( 82.74 %).
## p20_2 tiene 1668 valores faltantes ( 82.74 %).
## p21 tiene 1668 valores faltantes ( 82.74 %).
## p22 tiene 1933 valores faltantes ( 95.88 %).
## p23_1 tiene 1933 valores faltantes ( 95.88 %).
## p23_2 tiene 1933 valores faltantes ( 95.88 %).
## p24 tiene 1279 valores faltantes ( 63.44 %).
## p25 tiene 1279 valores faltantes ( 63.44 %).
## p27 tiene 666 valores faltantes ( 33.04 %).
## p28 tiene 1795 valores faltantes ( 89.04 %).
## p29 tiene 666 valores faltantes ( 33.04 %).
## p30 tiene 666 valores faltantes ( 33.04 %).
## p31 tiene 666 valores faltantes ( 33.04 %).
## p32 tiene 1397 valores faltantes ( 69.3 %).
## p33_1 tiene 47 valores faltantes ( 2.33 %).
## p33_2 tiene 47 valores faltantes ( 2.33 %).
## p33_3 tiene 47 valores faltantes ( 2.33 %).
## p33_4 tiene 47 valores faltantes ( 2.33 %).
## p34_1 tiene 47 valores faltantes ( 2.33 %).
## p34_2 tiene 47 valores faltantes ( 2.33 %).
## p34_3 tiene 47 valores faltantes ( 2.33 %).
## p34_3_1 tiene 1350 valores faltantes ( 66.96 %).
## p34_4 tiene 47 valores faltantes ( 2.33 %).
## p34_4_1 tiene 894 valores faltantes ( 44.35 %).
## p35 tiene 47 valores faltantes ( 2.33 %).
## p36_1 tiene 68 valores faltantes ( 3.37 %).
## p36_2 tiene 68 valores faltantes ( 3.37 %).
## p36_3 tiene 68 valores faltantes ( 3.37 %).
## p36_4 tiene 68 valores faltantes ( 3.37 %).
## h_lec tiene 47 valores faltantes ( 2.33 %).
## mat_lec tiene 47 valores faltantes ( 2.33 %).
## perslec tiene 47 valores faltantes ( 2.33 %).
## l_format tiene 1207 valores faltantes ( 59.87 %).
## r_format tiene 1595 valores faltantes ( 79.12 %).
## p_format tiene 1668 valores faltantes ( 82.74 %).
## perslecl tiene 47 valores faltantes ( 2.33 %).
M20final <- M20[,c("p4","p7","p8_1","p9","p26","p33_1")]
M24final <- M24[,c("p4","p7","p8_1","p9","p26","p33_1")]
zero_na_rows_M20 <- apply(M20final, 1, function(x) all(x %in% c(0, NA)))
M20final <- M20final[!zero_na_rows_M20, ]
cat("En M20final se eliminaron", sum(zero_na_rows_M20), "filas que contenían solo 0 y NA.\n")
## En M20final se eliminaron 52 filas que contenían solo 0 y NA.
zero_na_rows_M24 <- apply(M24final, 1, function(x) all(x %in% c(0, NA)))
M24final <- M24final[!zero_na_rows_M24, ]
cat("En M24final se eliminaron", sum(zero_na_rows_M24), "filas que contenían solo 0 y NA.\n")
## En M24final se eliminaron 47 filas que contenían solo 0 y NA.
same_value_rows_M20 <- apply(M20final, 1, function(x) all(x == x[1], na.rm = TRUE))
cat("En M20final se eliminaron", sum(same_value_rows_M20), "filas donde todas las variables eran iguales.\n")
## En M20final se eliminaron 0 filas donde todas las variables eran iguales.
same_value_rows_M24 <- apply(M24final, 1, function(x) all(x == x[1], na.rm = TRUE))
cat("En M24final se eliminaron", sum(same_value_rows_M24), "filas donde todas las variables eran iguales.\n")
## En M24final se eliminaron 0 filas donde todas las variables eran iguales.
write.csv(M20final, "M20final_limpio.csv", row.names = FALSE)
write.csv(M24final, "M24final_limpio.csv", row.names = FALSE)
library(ggplot2)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(moments)
Datos20 = read.csv("M20final_limpio.csv")
Datos24 = read.csv("M24final_limpio.csv")
#Intervalo de confianza para el numero de libros leidos en 2020
variable1 = as.numeric(as.character(Datos20$p4))
install.packages("BSDA")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(BSDA)
## Loading required package: lattice
##
## Attaching package: 'BSDA'
## The following object is masked from 'package:datasets':
##
## Orange
z.test(variable1,conf.level=0.96, sigma.x=sd(variable1))
##
## One-sample z-Test
##
## data: variable1
## z = 18.691, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 96 percent confidence interval:
## 1.305180 1.627405
## sample estimates:
## mean of x
## 1.466292
#Analisis La prueba sugiere que la media de libros leídos en 2020 es significativamente mayor que 0. Dado que el intervalo de confianza no incluye 0 y el valor z es muy alto, podemos concluir que los mexicanos leyeron en promedio entre 1.305 y 1.627 libros en 2020. El resultado refuerza que la media observada de 1.466 libros leídos es una estimación fiable, y la diferencia con 0 no es debida al azar. Este análisis indica que los hábitos de lectura de 2020 muestran un promedio de libros leídos claramente distinto de 0, con una media cercana a 1.5 libros leídos por persona en los últimos 12 meses.
#Intervalo de confianza para el numero de libros leidos en 2024
variable1.1 = as.numeric(as.character(Datos24$p4))
install.packages("BSDA")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(BSDA)
z.test(variable1.1,conf.level=0.96, sigma.x=sd(variable1.1))
##
## One-sample z-Test
##
## data: variable1.1
## z = 17.575, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 96 percent confidence interval:
## 1.152703 1.457759
## sample estimates:
## mean of x
## 1.305231
#Prueba de hipótesis para la diferencia de medias del numero de libros leidos comparando 2020 y 2024 H0: Las medias son iguales. H1: Las medias son diferentes.
variable1 = as.numeric(as.character(Datos20$p4))
variable1.1 = as.numeric(as.character(Datos24$p4))
z.test(x = variable1,y = variable1.1, conf.level=0.96,alternative = "two.sided", sigma.x=sd(variable1),sigma.y = sd(variable1.1))
##
## Two-sample z-Test
##
## data: variable1 and variable1.1
## z = 1.4909, p-value = 0.136
## alternative hypothesis: true difference in means is not equal to 0
## 96 percent confidence interval:
## -0.06079951 0.38292162
## sample estimates:
## mean of x mean of y
## 1.466292 1.305231
#Analisis No hay evidencia estadística suficiente para concluir que la cantidad promedio de libros leídos en 2020 fue significativamente diferente de la cantidad promedio de libros leídos en 2024. El valor p alto y el intervalo de confianza que incluye 0 respaldan esta conclusión.
#Intervalo de confianza para el numero de minutos leidos en 2020
variable2 = as.numeric(as.character(Datos20$p26))
install.packages("BSDA")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(BSDA)
z.test(variable2,conf.level=0.96, sigma.x=sd(variable2))
##
## One-sample z-Test
##
## data: variable2
## z = 38.798, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 96 percent confidence interval:
## 27.46442 30.53456
## sample estimates:
## mean of x
## 28.99949
#Intervalo de confianza para el numero de minutos leidos en 2024
variable2.1 = as.numeric(as.character(Datos24$p26))
install.packages("BSDA")
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.4'
## (as 'lib' is unspecified)
library(BSDA)
z.test(variable2.1,conf.level=0.96, sigma.x=sd(variable2.1))
##
## One-sample z-Test
##
## data: variable2.1
## z = 37.059, p-value < 2.2e-16
## alternative hypothesis: true mean is not equal to 0
## 96 percent confidence interval:
## 25.90044 28.93959
## sample estimates:
## mean of x
## 27.42001
#Prueba de hipótesis para la diferencia de medias en minutos de lectura continua comparando 2020 y 2024 H0: Las medias son iguales. H1: Las medias son diferentes.
variable2 = as.numeric(as.character(Datos20$p26))
variable2.1 = as.numeric(as.character(Datos24$p26))
z.test(x = variable2,y = variable2.1, conf.level=0.96, alternative = "two.sided", sigma.x=sd(variable2),sigma.y = sd(variable2.1))
##
## Two-sample z-Test
##
## data: variable2 and variable2.1
## z = 1.5018, p-value = 0.1332
## alternative hypothesis: true difference in means is not equal to 0
## 96 percent confidence interval:
## -0.5805112 3.7394694
## sample estimates:
## mean of x mean of y
## 28.99949 27.42001
#Analisis A pesar de que hay una diferencia observada en las medias de minutos leídos entre 2020 y 2024, esta diferencia no es significativa desde el punto de vista estadístico. Esto puede indicar que no ha habido un cambio notable en los hábitos de lectura en términos de tiempo dedicado entre estos años, lo que podría ser relevante para entender los patrones de lectura en México.
df_p7_2020=M20final %>% select(p7) %>% filter(p7 != 0 & p7!=999999)
df_p8_2020=M20final %>% select(p8_1) %>% filter(p8_1 != 0 & p8_1!=999999)
df_p7_2024=M24final %>% select(p7) %>% filter(p7 != 0 & p7!=999999)
df_p8_2024=M24final %>% select(p8_1) %>% filter(p8_1 != 0 & p8_1!=999999)
Para esto, primero debemos recordar que para la variable p7, el valor 1 indica que el libro fue descargado gratuitamente, el valor 2 significa que fue regalado o prestado, mientras que el 3 significa que fue comprado. Para la variable 8, el valor 1 significa que el libro estaba en formato digital, mientras que el 2 significa que fue impreso.
tabla_contingencia_2020=table(df_p7_2020$p7,df_p8_2020$p8_1)
cat("Tabla contingencia p7 y p8 en 2020")
## Tabla contingencia p7 y p8 en 2020
print(tabla_contingencia_2020)
##
## 1 2
## 1 90 7
## 2 13 372
## 3 17 312
chisq.test(tabla_contingencia_2020,correct=FALSE)
##
## Pearson's Chi-squared test
##
## data: tabla_contingencia_2020
## X-squared = 531.97, df = 2, p-value < 2.2e-16
tabla_contingencia_2024=table(df_p7_2024$p7,df_p8_2024$p8_1)
cat("Tabla contingencia p7 y p8 en 2024")
## Tabla contingencia p7 y p8 en 2024
print(tabla_contingencia_2024)
##
## 1 2
## 1 156 12
## 2 21 338
## 3 19 263
chisq.test(tabla_contingencia_2024,correct=FALSE)
##
## Pearson's Chi-squared test
##
## data: tabla_contingencia_2024
## X-squared = 544.07, df = 2, p-value < 2.2e-16
# Con los libros descargados gratuitamente
n_2020_gratis = c(120,691)
x_2020_gratis = c(90,7)
cat("Proporcionalidad de libros descargados gratuitamente y formato")
## Proporcionalidad de libros descargados gratuitamente y formato
prop.test(x_2020_gratis,n_2020_gratis, p=c(0.8,0.05), correct= FALSE, conf.level = 0.96, alternative="greater")
##
## 2-sample test for given proportions without continuity correction
##
## data: x_2020_gratis out of n_2020_gratis, null probabilities c(0.8, 0.05)
## X-squared = 24.999, df = 2, p-value = 3.728e-06
## alternative hypothesis: two.sided
## null values:
## prop 1 prop 2
## 0.80 0.05
## sample estimates:
## prop 1 prop 2
## 0.75000000 0.01013025
# Con los libros regalados o prestados
n_2020_regalados = c(120,691)
x_2020_regalados = c(13,372)
cat("Proporcionalidad de libros regalados o prestados y formato")
## Proporcionalidad de libros regalados o prestados y formato
prop.test(x_2020_regalados,n_2020_regalados, p=c(0.1,0.4), correct= FALSE, conf.level = 0.96, alternative="greater")
##
## 2-sample test for given proportions without continuity correction
##
## data: x_2020_regalados out of n_2020_regalados, null probabilities c(0.1, 0.4)
## X-squared = 55.202, df = 2, p-value = 1.03e-12
## alternative hypothesis: two.sided
## null values:
## prop 1 prop 2
## 0.1 0.4
## sample estimates:
## prop 1 prop 2
## 0.1083333 0.5383502
# Con los libros comprados
n_2020_comprados = c(120,691)
x_2020_comprados = c(17,312)
cat("Proporcionalidad de libros comprados y formato")
## Proporcionalidad de libros comprados y formato
prop.test(x_2020_comprados,n_2020_comprados, p=c(0.2,0.5), correct= FALSE, conf.level = 0.96, alternative="greater")
##
## 2-sample test for given proportions without continuity correction
##
## data: x_2020_comprados out of n_2020_comprados, null probabilities c(0.2, 0.5)
## X-squared = 9.0485, df = 2, p-value = 0.01084
## alternative hypothesis: two.sided
## null values:
## prop 1 prop 2
## 0.2 0.5
## sample estimates:
## prop 1 prop 2
## 0.1416667 0.4515195
# Con los libros descargados gratuitamente
n_2024_gratis = c(196,613)
x_2024_gratis = c(156,12)
cat("Proporcionalidad de libros descargados gratuitamente y formato")
## Proporcionalidad de libros descargados gratuitamente y formato
prop.test(x_2024_gratis,n_2024_gratis, p=c(0.8,0.05), correct= FALSE, conf.level = 0.96, alternative="greater")
##
## 2-sample test for given proportions without continuity correction
##
## data: x_2024_gratis out of n_2024_gratis, null probabilities c(0.8, 0.05)
## X-squared = 11.966, df = 2, p-value = 0.002521
## alternative hypothesis: two.sided
## null values:
## prop 1 prop 2
## 0.80 0.05
## sample estimates:
## prop 1 prop 2
## 0.79591837 0.01957586
# Con los libros regalados o prestados
n_2024_regalados = c(196,613)
x_2024_regalados = c(21,338)
cat("Proporcionalidad de libros regalados o prestados y formato")
## Proporcionalidad de libros regalados o prestados y formato
prop.test(x_2024_regalados,n_2024_regalados, p=c(0.1,0.4), correct= FALSE, conf.level = 0.96, alternative="greater")
##
## 2-sample test for given proportions without continuity correction
##
## data: x_2024_regalados out of n_2024_regalados, null probabilities c(0.1, 0.4)
## X-squared = 58.647, df = 2, p-value = 1.84e-13
## alternative hypothesis: two.sided
## null values:
## prop 1 prop 2
## 0.1 0.4
## sample estimates:
## prop 1 prop 2
## 0.1071429 0.5513866
# Con los libros comprados
n_2024_comprados = c(196,613)
x_2024_comprados = c(19,263)
cat("Proporcionalidad de libros comprados y formato")
## Proporcionalidad de libros comprados y formato
prop.test(x_2024_comprados,n_2024_comprados, p=c(0.2,0.5), correct= FALSE, conf.level = 0.96, alternative="greater")
##
## 2-sample test for given proportions without continuity correction
##
## data: x_2024_comprados out of n_2024_comprados, null probabilities c(0.2, 0.5)
## X-squared = 25.359, df = 2, p-value = 3.114e-06
## alternative hypothesis: two.sided
## null values:
## prop 1 prop 2
## 0.2 0.5
## sample estimates:
## prop 1 prop 2
## 0.09693878 0.42903752
library(dplyr)
p9_2020 <- M20$p9
p9_2024 <- M24$p9
p26_2020 <- M20$p26
p26_2024 <- M20$p26
# Verificar longitudes de las variables
length(p9_2020) # 2000
## [1] 2010
length(p9_2024) # 2300
## [1] 2016
length(p26_2020) # 2000
## [1] 2010
length(p26_2024) # 2300
## [1] 2010
# Definir las etiquetas
labels <- c(
"No ha leído ",
"En su casa ",
"centro de estudios o lugar de trabajo",
"En librerías ",
"En el transporte",
"Otro"
)
# Crea un dataframe para 2020
df_2020 <- data.frame(
p9 = factor(p9_2020, levels = 0:5, labels = labels),
p26 = p26_2020
)
# Crea un dataframe para 2024, limitando a los primeros 2010 registros
df_2024 <- data.frame(
p9 = factor(p9_2024[1:2010], levels = 0:5, labels = labels),
p26 = p26_2024[1:2010]
)
# Añade una columna para el año
df_2020$year <- 2020
df_2024$year <- 2024
# Combina los dataframes
df_combined <- bind_rows(df_2020, df_2024)
# Realiza el análisis ANOVA
anova_result <- aov(p26 ~ p9 * year, data = df_combined)
summary(anova_result)
## Df Sum Sq Mean Sq F value Pr(>F)
## p9 4 13175 3294 2.399 0.0482 *
## year 1 178794 178794 130.239 <2e-16 ***
## p9:year 4 1760 440 0.320 0.8644
## Residuals 1606 2204750 1373
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 2404 observations deleted due to missingness
# Visualiza la relación
ggplot(df_combined, aes(x = p9, y = p26, fill = factor(year))) +
geom_boxplot() +
labs(x = "Lugar de Lectura (p9)", y = "Minutos Leídos Continuamente (p26)",
title = "Relación entre el Lugar de Lectura y Minutos Leídos") +
scale_fill_discrete(name = "Año") +
theme_minimal()
# Filtrar datos para 2020
p26_casa_2020 <- M20final$p26[M20final$p9 == 1]
p26_libreria_2020 <- M20final$p26[M20final$p9 == 3]
# Filtrar datos para 2024
p26_casa_2024 <- M24final$p26[M24final$p9 == 1]
p26_libreria_2024 <- M24final$p26[M24final$p9 == 3]
# Prueba t para el año 2020
t_test_2020 <- t.test(p26_casa_2020, p26_libreria_2020, var.equal = FALSE)
# Prueba t para el año 2024
t_test_2024 <- t.test(p26_casa_2024, p26_libreria_2024, var.equal = FALSE)
# Resultados para el año 2020
print(t_test_2020)
##
## Welch Two Sample t-test
##
## data: p26_casa_2020 and p26_libreria_2020
## t = -1.4902, df = 11.208, p-value = 0.1638
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -55.99479 10.72179
## sample estimates:
## mean of x mean of y
## 49.8635 72.5000
# Resultados para el año 2024
print(t_test_2024)
##
## Welch Two Sample t-test
##
## data: p26_casa_2024 and p26_libreria_2024
## t = -0.28906, df = 2.0748, p-value = 0.7989
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -44.87379 39.03930
## sample estimates:
## mean of x mean of y
## 47.08276 50.00000
# Filtrar datos para 2020
p26_casa_2020 <- M20final$p26[M20final$p9 == 1]
p26_libreria_2020 <- M20final$p26[M20final$p9 == 3]
# Filtrar datos para 2024
p26_casa_2024 <- M24final$p26[M24final$p9 == 1]
p26_libreria_2024 <- M24final$p26[M24final$p9 == 3]
# Prueba t para comparar minutos leídos en casa entre 2020 y 2024
t_test_casa <- t.test(p26_casa_2020, p26_casa_2024, var.equal = FALSE)
# Prueba t para comparar minutos leídos en librerías entre 2020 y 2024
t_test_libreria <- t.test(p26_libreria_2020, p26_libreria_2024, var.equal = FALSE)
# Resultados para la lectura en casa
print(t_test_casa)
##
## Welch Two Sample t-test
##
## data: p26_casa_2020 and p26_casa_2024
## t = 1.39, df = 1380.3, p-value = 0.1647
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -1.143575 6.705061
## sample estimates:
## mean of x mean of y
## 49.86350 47.08276
# Resultados para la lectura en librerías
print(t_test_libreria)
##
## Welch Two Sample t-test
##
## data: p26_libreria_2020 and p26_libreria_2024
## t = 1.2412, df = 11.074, p-value = 0.2402
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -17.36547 62.36547
## sample estimates:
## mean of x mean of y
## 72.5 50.0
# Seleccionar variables p33_1 a p33_4 para M20 y M24
M20_p33 <- M20[, c("p33_1", "p33_2", "p33_3", "p33_4")]
M24_p33 <- M24[, c("p33_1", "p33_2", "p33_3", "p33_4")]
# Función para calcular el porcentaje de "Sí" (1) en un año específico
calcular_porcentaje_si <- function(data, variable) {
total <- length(data[[variable]])
si <- sum(data[[variable]] == 1, na.rm = TRUE)
porcentaje_si <- (si / total) * 100
return(porcentaje_si)
}
# Calcular porcentaje de "Sí" en 2020 y 2024
porcentaje_si_2020_p33_1 <- calcular_porcentaje_si(M20, "p33_1")
porcentaje_si_2024_p33_1 <- calcular_porcentaje_si(M24, "p33_1")
porcentaje_si_2020_p33_2 <- calcular_porcentaje_si(M20, "p33_2")
porcentaje_si_2024_p33_2 <- calcular_porcentaje_si(M24, "p33_2")
porcentaje_si_2020_p33_3 <- calcular_porcentaje_si(M20, "p33_3")
porcentaje_si_2024_p33_3 <- calcular_porcentaje_si(M24, "p33_3")
porcentaje_si_2020_p33_4 <- calcular_porcentaje_si(M20, "p33_4")
porcentaje_si_2024_p33_4 <- calcular_porcentaje_si(M24, "p33_4")
# Calcular el cambio porcentual
cambio_porcentual_p33_1 <- porcentaje_si_2024_p33_1 - porcentaje_si_2020_p33_1
cambio_porcentual_p33_2 <- porcentaje_si_2024_p33_2 - porcentaje_si_2020_p33_2
cambio_porcentual_p33_3 <- porcentaje_si_2024_p33_3 - porcentaje_si_2020_p33_3
cambio_porcentual_p33_4 <- porcentaje_si_2024_p33_4 - porcentaje_si_2020_p33_4
# Imprimir resultados
cat("Cambio porcentual en p33_1 (tienda departamental):", cambio_porcentual_p33_1, "%\n")
## Cambio porcentual en p33_1 (tienda departamental): -3.333185 %
cat("Cambio porcentual en p33_2 (puesto de libros usados):", cambio_porcentual_p33_2, "%\n")
## Cambio porcentual en p33_2 (puesto de libros usados): -4.353826 %
cat("Cambio porcentual en p33_3 (biblioteca):", cambio_porcentual_p33_3, "%\n")
## Cambio porcentual en p33_3 (biblioteca): -1.761135 %
cat("Cambio porcentual en p33_4 (librería):", cambio_porcentual_p33_4, "%\n")
## Cambio porcentual en p33_4 (librería): -4.018746 %
# Seleccionar las variables relevantes
M20_p33 <- M20[, c("p33_1", "p33_2", "p33_3", "p33_4", "p8_1", "p8_2")]
M24_p33 <- M24[, c("p33_1", "p33_2", "p33_3", "p33_4", "p8_1", "p8_2")]
# Seleccionar las variables relevantes
M20_p33 <- M20[, c("p33_1", "p33_2", "p33_3", "p33_4", "p8_1", "p8_2")]
M24_p33 <- M24[, c("p33_1", "p33_2", "p33_3", "p33_4", "p8_1", "p8_2")]
# Función para contar respuestas "Sí" (1) para p8_1 y respuestas "No" (1) para p8_2
contar_respuestas <- function(data, lugar, p8_yes, p8_no) {
# Filtrar datos para eliminar NA en el lugar y formato de lectura
data_filtrada <- data[!is.na(data[[lugar]]) & !is.na(data[[p8_yes]]) & !is.na(data[[p8_no]]), ]
# Contar respuestas "Sí" (1) para p8_1 y "No" (1) para p8_2
conteo_yes <- sum(data_filtrada[[lugar]] == 1 & data_filtrada[[p8_yes]] == 1)
conteo_no <- sum(data_filtrada[[lugar]] == 1 & data_filtrada[[p8_no]] == 1)
return(c(conteo_yes, conteo_no))
}
# Contar respuestas para cada lugar en 2020
resultados_2020 <- sapply(c("p33_1", "p33_2", "p33_3", "p33_4"),
contar_respuestas, data = M20_p33,
p8_yes = "p8_1", p8_no = "p8_2")
# Contar respuestas para cada lugar en 2024
resultados_2024 <- sapply(c("p33_1", "p33_2", "p33_3", "p33_4"),
contar_respuestas, data = M24_p33,
p8_yes = "p8_1", p8_no = "p8_2")
# Crear un data frame con los resultados para ambos años
resultados_df <- data.frame(
Lugar = rep(c("Tienda Departamental", "Puesto de Libros Usados", "Biblioteca", "Librería"), each = 2),
Conteo = c(resultados_2020, resultados_2024),
Respuesta = rep(c("Digital", "Impreso"), times = 4),
Año = rep(c("2020", "2024"), each = 8)
)
# Graficar los resultados por separado para cada año
library(ggplot2)
ggplot(resultados_df, aes(x = Lugar, y = Conteo, fill = Respuesta)) +
geom_bar(stat = "identity", position = "dodge") +
facet_wrap(~ Año) + # Separar gráficos por año
labs(title = "Asistencia a Lugares Físicos y Formato de Lectura",
x = "Lugar",
y = "Número de Respuestas") +
scale_fill_manual(values = c("skyblue", "orange")) +
theme_minimal() +
theme(legend.title = element_blank())
# Crear variables para M20
M20$p8_digital <- ifelse(M20$p8_1 == 1, 1, 0) # 1 si es digital, 0 en caso contrario
M20$p8_fisico <- ifelse(M20$p8_2 == 1, 1, 0) # 1 si es físico, 0 en caso contrario
# Crear variables para M24
M24$p8_digital <- ifelse(M24$p8_1 == 1, 1, 0) # 1 si es digital, 0 en caso contrario
M24$p8_fisico <- ifelse(M24$p8_2 == 1, 1, 0) # 1 si es físico, 0 en caso contrario
# Filtrar datos y eliminar NAs
M20_clean <- na.omit(M20[, c("p8_digital", "p8_fisico", "p33_1", "p33_2", "p33_3", "p33_4")])
M24_clean <- na.omit(M24[, c("p8_digital", "p8_fisico", "p33_1", "p33_2", "p33_3", "p33_4")])
# ANCOVA para M20
modelo_ancova_M20_digital <- aov(p8_digital ~ p33_1 + p33_2 + p33_3 + p33_4, data = M20_clean)
summary(modelo_ancova_M20_digital)
## Df Sum Sq Mean Sq F value Pr(>F)
## p33_1 1 0.64 0.639 5.338 0.0211 *
## p33_2 1 0.00 0.000 0.001 0.9747
## p33_3 1 4.94 4.944 41.314 2.22e-10 ***
## p33_4 1 0.21 0.210 1.753 0.1858
## Residuals 806 96.45 0.120
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modelo_ancova_M20_fisico <- aov(p8_fisico ~ p33_1 + p33_2 + p33_3 + p33_4, data = M20_clean)
summary(modelo_ancova_M20_fisico)
## Df Sum Sq Mean Sq F value Pr(>F)
## p33_1 1 0.15 0.1528 1.648 0.1997
## p33_2 1 0.00 0.0001 0.001 0.9731
## p33_3 1 2.46 2.4619 26.549 3.23e-07 ***
## p33_4 1 0.31 0.3112 3.356 0.0673 .
## Residuals 806 74.74 0.0927
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
# ANCOVA para M24
modelo_ancova_M24_digital <- aov(p8_digital ~ p33_1 + p33_2 + p33_3 + p33_4, data = M24_clean)
summary(modelo_ancova_M24_digital)
## Df Sum Sq Mean Sq F value Pr(>F)
## p33_1 1 0.04 0.0360 0.196 0.6578
## p33_2 1 0.26 0.2626 1.433 0.2316
## p33_3 1 0.92 0.9165 5.003 0.0256 *
## p33_4 1 0.00 0.0007 0.004 0.9520
## Residuals 804 147.30 0.1832
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
modelo_ancova_M24_fisico <- aov(p8_fisico ~ p33_1 + p33_2 + p33_3 + p33_4, data = M24_clean)
summary(modelo_ancova_M24_fisico)
## Df Sum Sq Mean Sq F value Pr(>F)
## p33_1 1 0.03 0.0339 0.222 0.6380
## p33_2 1 0.61 0.6084 3.979 0.0464 *
## p33_3 1 0.32 0.3233 2.114 0.1463
## p33_4 1 0.17 0.1668 1.091 0.2966
## Residuals 804 122.93 0.1529
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1