Vamos a cargar la base de hogares de la ENIGH con la que hemos estado trabajando.
¡Recuerda, poner el directorio!
setwd("/Users/anaescoto/Dropbox/DGAPA/EjercicioR")
install.packages("foreign", repos = "http://cran.us.r-project.org", dependencies = TRUE)
##
## The downloaded binary packages are in
## /var/folders/fr/mw1x21js54367mjdhqsjfwqm0000gn/T//Rtmp4OQiLD/downloaded_packages
library(foreign)
## Warning: package 'foreign' was built under R version 3.3.2
enigh_concentrado <- read.dbf("enigh_concentrado_mod.dbf")
Muchas bases de datos están organizadas en varias tablas. La ventaja de la programación por objetos de R, nos permite tener las bases cargadas en nuestro ambiente y llamarlas y juntarlas cuando sea necesario.
Vamos a suponer que necesitamos usar información de la tabla de viviendas de la ENIGH, de México, con la información a nivel de hogares que hemos estado utilizando.
Entonces cargamos la base de viviendas. (La puedes descargar desde aquí )
enigh_viviendas <- read.dbf("ncv_vivi_2014_concil_2010_dbf.dbf")
Para juntar bases usamos el comando “merge” En “by” ponemos el id, correspondiente a la variable o variables que forman el id, entrecomillado. Cuando estamos mezclando bases del mismo nivel de análisis el id es igual en ambas bases. Cuando estamos incoporando información de bases de distinto nivel debemos escoger En general ponemos el id de la base de mayor nivel. En este caso, sabemos que a una vivienda corresponde más de un hogar. Tal como revisamos nuestra documentación, sabemos que el id de la tabla viviendas es “folioviv”
merge_data<- merge(enigh_viviendas, enigh_concentrado, by="folioviv")
Revisemos la base creada
names(merge_data)
## [1] "folioviv" "tipo_viv" "mat_pared" "mat_techos" "mat_pisos"
## [6] "antiguedad" "antigua_ne" "cocina" "cocina_dor" "cuart_dorm"
## [11] "num_cuarto" "disp_agua" "dotac_agua" "excusado" "uso_compar"
## [16] "sanit_agua" "biodigest" "bano_comp" "bano_excus" "bano_regad"
## [21] "drenaje" "disp_elect" "focos_inca" "focos_ahor" "combustibl"
## [26] "estufa_chi" "eli_basura" "tenencia" "renta" "estim_pago"
## [31] "pago_viv" "pago_mesp" "tipo_adqui" "viv_usada" "tipo_finan"
## [36] "num_dueno1" "hog_dueno1" "num_dueno2" "hog_dueno2" "escrituras"
## [41] "lavadero" "fregadero" "regadera" "tinaco_azo" "cisterna"
## [46] "pileta" "calent_sol" "calent_gas" "medidor_lu" "bomba_agua"
## [51] "tanque_gas" "aire_acond" "calefacc" "tot_resid" "tot_hom"
## [56] "tot_muj" "tot_hog" "ubica_geo.x" "ageb.x" "tam_loc.x"
## [61] "est_socio.x" "est_dis.x" "upm.x" "factor_viv" "foliohog"
## [66] "ubica_geo.y" "ageb.y" "tam_loc.y" "est_socio.y" "est_dis.y"
## [71] "upm.y" "factor_hog" "clase_hog" "sexo_jefe" "edad_jefe"
## [76] "educa_jefe" "tot_integ" "hombres" "mujeres" "mayores"
## [81] "menores" "p12_64" "p65mas" "ocupados" "percep_ing"
## [86] "perc_ocupa" "ing_cor" "ingtrab" "trabajo" "sueldos"
## [91] "horas_extr" "comisiones" "aguinaldo" "indemtrab" "otra_rem"
## [96] "remu_espec" "negocio" "noagrop" "industria" "comercio"
## [101] "servicios" "agrope" "agricolas" "pecuarios" "reproducc"
## [106] "pesca" "otros_trab" "rentas" "utilidad" "arrenda"
## [111] "transfer" "jubilacion" "becas" "donativos" "remesas"
## [116] "bene_gob" "transf_hog" "trans_inst" "estim_alqu" "otros_ing"
## [121] "gasto_mon" "alimentos" "ali_dentro" "cereales" "carnes"
## [126] "pescado" "leche" "huevo" "aceites" "tuberculo"
## [131] "verduras" "frutas" "azucar" "cafe" "especias"
## [136] "otros_alim" "bebidas" "ali_fuera" "tabaco" "vesti_calz"
## [141] "vestido" "calzado" "vivienda" "alquiler" "pred_cons"
## [146] "agua" "energia" "limpieza" "cuidados" "utensilios"
## [151] "enseres" "salud" "atenc_ambu" "hospital" "medicinas"
## [156] "transporte" "publico" "foraneo" "adqui_vehi" "mantenim"
## [161] "refaccion" "combus" "comunica" "educa_espa" "educacion"
## [166] "esparci" "paq_turist" "personales" "cuida_pers" "acces_pers"
## [171] "otros_gas" "transf_gas" "percep_tot" "retiro_inv" "prestamos"
## [176] "otras_perc" "ero_nm_viv" "ero_nm_hog" "erogac_tot" "cuota_viv"
## [181] "mater_serv" "material" "servicio" "deposito" "prest_terc"
## [186] "pago_tarje" "deudas" "balance" "otras_erog" "smg"
¿Qué observas? (1) El orden de las variables corresponde al orden que pusimos las bases en las opciones. (2) También vemos que las variables que se repetían en ambas bases se repiten en la nueva base, seguida de un un punto y una “x”, para lo que proviene de la primera base y con una “y”, lo que proviene de la segunda. R dejará las variables intactas y son coincidentes, en nuestro caso, porque las variables son iguales. R hace esto para precaver que por error tengamos alguna variable con un nombre igual y no sea la misma
Revisemos que las variables “repetidas son iguales
table(merge_data$est_socio.x, merge_data$est_socio.y)
##
## 1 2 3 4
## 1 4011 0 0 0
## 2 0 10200 0 0
## 3 0 0 3776 0
## 4 0 0 0 1492
Hoy queremos incorporar la información de hogar a la base de población Vamos a cargar la base (La puedes descargar desde aquí)
Cargamos la base
enigh_pobla <- read.dbf("ncv_poblacion_2014_concil_2010_dbf.dbf")
Aquí es más evidente la diferencia del nivel de las bases de las bases porque hay 73,592 personas en 19,479 viviendas.
Tal como está en la documentación de la ENIGH (http://www.beta.inegi.org.mx/app/biblioteca/ficha.html?upc=702825070373), el id o llave única de las bases son las siguientes
concentrado(hogares) es “folioviv” “foliohog” población(individuos) es “folioviv” “foliohog” “numren”
Esto significa que tenemos un id compuesto. No es una sola variable. Para esto modificamos ligeramente cómo ponemos el “by”, pero siempre eligiendo el id de la base de mayor nivel. (Tené cuidado con los paréntesis)
merge_data2<- merge(enigh_concentrado, enigh_pobla, by=c("folioviv","foliohog"))
Revisemos la base
str(merge_data2)
## 'data.frame': 73592 obs. of 302 variables:
## $ folioviv : Factor w/ 19124 levels "0100008302","0100008303",..: 1 1 2 3 3 3 4 4 4 5 ...
## $ foliohog : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
## $ ubica_geo : Factor w/ 993 levels "010010001","010010982",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ ageb : Factor w/ 1799 levels "001-0","001-2",..: 242 242 242 242 242 242 242 242 242 242 ...
## $ tam_loc : Factor w/ 4 levels "1","2","3","4": 1 1 1 1 1 1 1 1 1 1 ...
## $ est_socio : Factor w/ 4 levels "1","2","3","4": 4 4 4 4 4 4 4 4 4 4 ...
## $ est_dis : Factor w/ 200 levels "001","002","003",..: 5 5 5 5 5 5 5 5 5 5 ...
## $ upm : Factor w/ 2626 levels "00010","00020",..: 67 67 67 67 67 67 67 67 67 60 ...
## $ factor_hog: int 694 694 694 694 694 694 694 694 694 660 ...
## $ clase_hog : Factor w/ 5 levels "Compuesto","Corresidentes",..: 3 3 5 4 4 4 3 3 3 4 ...
## $ sexo_jefe : Factor w/ 2 levels "Hombre","Mujer": 2 2 1 1 1 1 1 1 1 1 ...
## $ edad_jefe : int 77 77 64 60 60 60 79 79 79 72 ...
## $ educa_jefe: Factor w/ 11 levels "01","02","03",..: 8 8 6 8 8 8 10 10 10 10 ...
## $ tot_integ : int 2 2 1 3 3 3 3 3 3 3 ...
## $ hombres : int 1 1 1 1 1 1 3 3 3 2 ...
## $ mujeres : int 1 1 0 2 2 2 0 0 0 1 ...
## $ mayores : int 2 2 1 3 3 3 3 3 3 3 ...
## $ menores : int 0 0 0 0 0 0 0 0 0 0 ...
## $ p12_64 : int 0 0 1 3 3 3 2 2 2 1 ...
## $ p65mas : int 2 2 0 0 0 0 1 1 1 2 ...
## $ ocupados : int 0 0 0 2 2 2 2 2 2 1 ...
## $ percep_ing: int 2 2 1 2 2 2 3 3 3 3 ...
## $ perc_ocupa: int 0 0 0 2 2 2 2 2 2 1 ...
## $ ing_cor : num 39787 39787 19524 101214 101214 ...
## $ ingtrab : num 0 0 0 27783 27783 ...
## $ trabajo : num 0 0 0 27783 27783 ...
## $ sueldos : num 0 0 0 25826 25826 ...
## $ horas_extr: num 0 0 0 0 0 0 0 0 0 0 ...
## $ comisiones: num 0 0 0 0 0 0 0 0 0 0 ...
## $ aguinaldo : num 0 0 0 1957 1957 ...
## $ indemtrab : num 0 0 0 0 0 0 0 0 0 0 ...
## $ otra_rem : num 0 0 0 0 0 ...
## $ remu_espec: num 0 0 0 0 0 0 0 0 0 0 ...
## $ negocio : num 0 0 0 0 0 ...
## $ noagrop : num 0 0 0 0 0 ...
## $ industria : num 0 0 0 0 0 0 0 0 0 0 ...
## $ comercio : num 0 0 0 0 0 ...
## $ servicios : num 0 0 0 0 0 0 0 0 0 0 ...
## $ agrope : num 0 0 0 0 0 0 0 0 0 0 ...
## $ agricolas : num 0 0 0 0 0 0 0 0 0 0 ...
## $ pecuarios : num 0 0 0 0 0 0 0 0 0 0 ...
## $ reproducc : num 0 0 0 0 0 0 0 0 0 0 ...
## $ pesca : num 0 0 0 0 0 0 0 0 0 0 ...
## $ otros_trab: num 0 0 0 0 0 0 0 0 0 0 ...
## $ rentas : num 3522 3522 0 0 0 ...
## $ utilidad : num 0 0 0 0 0 0 0 0 0 0 ...
## $ arrenda : num 3522 3522 0 0 0 ...
## $ transfer : num 24652 24652 13717 60367 60367 ...
## $ jubilacion: num 24652 24652 0 58696 58696 ...
## $ becas : num 0 0 0 0 0 0 0 0 0 0 ...
## $ donativos : num 0 0 0 0 0 0 0 0 0 0 ...
## $ remesas : num 0 0 0 0 0 0 0 0 0 0 ...
## $ bene_gob : num 0 0 11739 0 0 ...
## $ transf_hog: num 0 0 1978 1671 1671 ...
## $ trans_inst: num 0 0 0 0 0 0 0 0 0 0 ...
## $ estim_alqu: num 11613 11613 5806 13065 13065 ...
## $ otros_ing : num 0 0 0 0 0 ...
## $ gasto_mon : num 33488 33488 2474 30942 30942 ...
## $ alimentos : num 11173 11173 1941 16759 16759 ...
## $ ali_dentro: num 11173 11173 1234 14753 14753 ...
## $ cereales : num 681 681 231 591 591 ...
## $ carnes : num 51.4 51.4 0 3529.3 3529.3 ...
## $ pescado : num 0 0 0 0 0 0 0 0 0 0 ...
## $ leche : num 759 759 424 1286 1286 ...
## $ huevo : num 141 141 0 347 347 ...
## $ aceites : num 0 0 0 0 0 0 0 0 0 0 ...
## $ tuberculo : num 0 0 0 103 103 ...
## $ verduras : num 283 283 0 707 707 ...
## $ frutas : num 1620 1620 579 476 476 ...
## $ azucar : num 0 0 0 0 0 0 0 0 0 0 ...
## $ cafe : num 0 0 0 0 0 0 0 0 0 0 ...
## $ especias : num 0 0 0 0 0 0 0 0 0 0 ...
## $ otros_alim: num 7637 7637 0 5413 5413 ...
## $ bebidas : num 0 0 0 2301 2301 ...
## $ ali_fuera : num 0 0 707 2006 2006 ...
## $ tabaco : num 0 0 0 0 0 0 0 0 0 0 ...
## $ vesti_calz: num 401 401 0 489 489 ...
## $ vestido : num 0 0 0 489 489 ...
## $ calzado : num 401 401 0 0 0 ...
## $ vivienda : num 2199 2199 0 2989 2989 ...
## $ alquiler : num 0 0 0 0 0 0 0 0 0 0 ...
## $ pred_cons : num 505 505 0 138 138 ...
## $ agua : num 294 294 0 600 600 600 300 300 300 900 ...
## $ energia : num 1400 1400 0 2252 2252 ...
## $ limpieza : num 1003 1003 212 1866 1866 ...
## $ cuidados : num 514 514 212 1632 1632 ...
## $ utensilios: num 0 0 0 235 235 ...
## $ enseres : num 489 489 0 0 0 ...
## $ salud : num 1402 1402 117 1242 1242 ...
## $ atenc_ambu: num 1370 1370 0 1125 1125 ...
## $ hospital : num 0 0 0 0 0 0 0 0 0 0 ...
## $ medicinas : num 32.3 32.3 117.4 117.4 117.4 ...
## $ transporte: num 5491 5491 0 5829 5829 ...
## $ publico : num 0 0 0 386 386 ...
## $ foraneo : num 0 0 0 0 0 0 0 0 0 0 ...
## $ adqui_vehi: num 0 0 0 0 0 0 0 0 0 0 ...
## $ mantenim : num 4381 4381 0 2903 2903 ...
## $ refaccion : num 1957 1957 0 0 0 ...
## $ combus : num 2424 2424 0 2903 2903 ...
## [list output truncated]
tail(merge_data2)
## folioviv foliohog ubica_geo ageb tam_loc est_socio est_dis upm
## 73587 3260733809 1 320550021 014-0 4 2 197 26180
## 73588 3260733810 1 320550021 014-0 4 2 197 26180
## 73589 3260733810 1 320550021 014-0 4 2 197 26180
## 73590 3260733810 1 320550021 014-0 4 2 197 26180
## 73591 3260733810 1 320550021 014-0 4 2 197 26180
## 73592 3260733810 1 320550021 014-0 4 2 197 26180
## factor_hog clase_hog sexo_jefe edad_jefe educa_jefe tot_integ
## 73587 700 Unipersonal Mujer 76 03 1
## 73588 700 Extenso Mujer 39 03 5
## 73589 700 Extenso Mujer 39 03 5
## 73590 700 Extenso Mujer 39 03 5
## 73591 700 Extenso Mujer 39 03 5
## 73592 700 Extenso Mujer 39 03 5
## hombres mujeres mayores menores p12_64 p65mas ocupados percep_ing
## 73587 0 1 1 0 0 1 0 1
## 73588 3 2 3 2 3 0 2 3
## 73589 3 2 3 2 3 0 2 3
## 73590 3 2 3 2 3 0 2 3
## 73591 3 2 3 2 3 0 2 3
## 73592 3 2 3 2 3 0 2 3
## perc_ocupa ing_cor ingtrab trabajo sueldos horas_extr comisiones
## 73587 0 15976.96 0.00 0.00 0.00 0 0
## 73588 2 12688.35 635.86 635.86 635.86 0 0
## 73589 2 12688.35 635.86 635.86 635.86 0 0
## 73590 2 12688.35 635.86 635.86 635.86 0 0
## 73591 2 12688.35 635.86 635.86 635.86 0 0
## 73592 2 12688.35 635.86 635.86 635.86 0 0
## aguinaldo indemtrab otra_rem remu_espec negocio noagrop industria
## 73587 0 0 0 0 0 0 0
## 73588 0 0 0 0 0 0 0
## 73589 0 0 0 0 0 0 0
## 73590 0 0 0 0 0 0 0
## 73591 0 0 0 0 0 0 0
## 73592 0 0 0 0 0 0 0
## comercio servicios agrope agricolas pecuarios reproducc pesca
## 73587 0 0 0 0 0 0 0
## 73588 0 0 0 0 0 0 0
## 73589 0 0 0 0 0 0 0
## 73590 0 0 0 0 0 0 0
## 73591 0 0 0 0 0 0 0
## 73592 0 0 0 0 0 0 0
## otros_trab rentas utilidad arrenda transfer jubilacion becas
## 73587 0 0 0 0 13654.38 0 0
## 73588 0 0 0 0 10600.88 0 0
## 73589 0 0 0 0 10600.88 0 0
## 73590 0 0 0 0 10600.88 0 0
## 73591 0 0 0 0 10600.88 0 0
## 73592 0 0 0 0 10600.88 0 0
## donativos remesas bene_gob transf_hog trans_inst estim_alqu
## 73587 0.00 9758.15 1702.17 1382.11 811.95 2322.58
## 73588 160.42 0.00 1173.90 9266.56 0.00 1451.61
## 73589 160.42 0.00 1173.90 9266.56 0.00 1451.61
## 73590 160.42 0.00 1173.90 9266.56 0.00 1451.61
## 73591 160.42 0.00 1173.90 9266.56 0.00 1451.61
## 73592 160.42 0.00 1173.90 9266.56 0.00 1451.61
## otros_ing gasto_mon alimentos ali_dentro cereales carnes pescado
## 73587 0 5806.59 2256.34 2256.34 565.69 0 0
## 73588 0 1618.37 758.54 758.54 0.00 0 0
## 73589 0 1618.37 758.54 758.54 0.00 0 0
## 73590 0 1618.37 758.54 758.54 0.00 0 0
## 73591 0 1618.37 758.54 758.54 0.00 0 0
## 73592 0 1618.37 758.54 758.54 0.00 0 0
## leche huevo aceites tuberculo verduras frutas azucar cafe especias
## 73587 314.99 347.14 0.00 0 257.14 128.57 154.28 0 0
## 73588 0.00 385.70 372.84 0 0.00 0.00 0.00 0 0
## 73589 0.00 385.70 372.84 0 0.00 0.00 0.00 0 0
## 73590 0.00 385.70 372.84 0 0.00 0.00 0.00 0 0
## 73591 0.00 385.70 372.84 0 0.00 0.00 0.00 0 0
## 73592 0.00 385.70 372.84 0 0.00 0.00 0.00 0 0
## otros_alim bebidas ali_fuera tabaco vesti_calz vestido calzado
## 73587 128.57 359.96 0 0 29.34 0 29.34
## 73588 0.00 0.00 0 0 0.00 0 0.00
## 73589 0.00 0.00 0 0 0.00 0 0.00
## 73590 0.00 0.00 0 0 0.00 0 0.00
## 73591 0.00 0.00 0 0 0.00 0 0.00
## 73592 0.00 0.00 0 0 0.00 0 0.00
## vivienda alquiler pred_cons agua energia limpieza cuidados
## 73587 653.70 0 220.16 120 313.54 509.76 348.36
## 73588 116.12 0 116.12 0 0.00 11.61 11.61
## 73589 116.12 0 116.12 0 0.00 11.61 11.61
## 73590 116.12 0 116.12 0 0.00 11.61 11.61
## 73591 116.12 0 116.12 0 0.00 11.61 11.61
## 73592 116.12 0 116.12 0 0.00 11.61 11.61
## utensilios enseres salud atenc_ambu hospital medicinas transporte
## 73587 14.67 146.73 782.60 782.60 0 0 1260.55
## 73588 0.00 0.00 146.73 146.73 0 0 0.00
## 73589 0.00 0.00 146.73 146.73 0 0 0.00
## 73590 0.00 0.00 146.73 146.73 0 0 0.00
## 73591 0.00 0.00 146.73 146.73 0 0 0.00
## 73592 0.00 0.00 146.73 146.73 0 0 0.00
## publico foraneo adqui_vehi mantenim refaccion combus comunica
## 73587 771.42 489.13 0 0 0 0 0
## 73588 0.00 0.00 0 0 0 0 0
## 73589 0.00 0.00 0 0 0 0 0
## 73590 0.00 0.00 0 0 0 0 0
## 73591 0.00 0.00 0 0 0 0 0
## 73592 0.00 0.00 0 0 0 0 0
## educa_espa educacion esparci paq_turist personales cuida_pers
## 73587 0.00 0.00 0.00 0 240.94 240.94
## 73588 585.37 145.16 440.21 0 0.00 0.00
## 73589 585.37 145.16 440.21 0 0.00 0.00
## 73590 585.37 145.16 440.21 0 0.00 0.00
## 73591 585.37 145.16 440.21 0 0.00 0.00
## 73592 585.37 145.16 440.21 0 0.00 0.00
## acces_pers otros_gas transf_gas percep_tot retiro_inv prestamos
## 73587 0 0 73.36 680.04 244.56 0
## 73588 0 0 0.00 1491.68 0.00 0
## 73589 0 0 0.00 1491.68 0.00 0
## 73590 0 0 0.00 1491.68 0.00 0
## 73591 0 0 0.00 1491.68 0.00 0
## 73592 0 0 0.00 1491.68 0.00 0
## otras_perc ero_nm_viv ero_nm_hog erogac_tot cuota_viv mater_serv
## 73587 0 0 435.48 1760.86 0 146.73
## 73588 0 0 1491.68 1085.86 0 0.00
## 73589 0 0 1491.68 1085.86 0 0.00
## 73590 0 0 1491.68 1085.86 0 0.00
## 73591 0 0 1491.68 1085.86 0 0.00
## 73592 0 0 1491.68 1085.86 0 0.00
## material servicio deposito prest_terc pago_tarje deudas balance
## 73587 146.73 0 1614.13 0 0 0 0.00
## 73588 0.00 0 0.00 0 0 0 1085.86
## 73589 0.00 0 0.00 0 0 0 1085.86
## 73590 0.00 0 0.00 0 0 0 1085.86
## 73591 0.00 0 0.00 0 0 0 1085.86
## 73592 0.00 0 0.00 0 0 0 1085.86
## otras_erog smg numren parentesco sexo edad madre_hog madre_id
## 73587 0 5739.3 01 102 2 76 2 <NA>
## 73588 0 5739.3 01 101 2 39 2 <NA>
## 73589 0 5739.3 02 603 1 42 2 <NA>
## 73590 0 5739.3 03 301 2 17 1 01
## 73591 0 5739.3 04 301 1 4 1 01
## 73592 0 5739.3 05 609 1 0 1 03
## padre_hog padre_id disc1 disc2 disc3 disc4 disc5 disc6 disc7 causa1
## 73587 2 <NA> 8 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73588 2 <NA> 8 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73589 2 <NA> 8 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73590 2 <NA> 8 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 2 <NA> 8 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 2 <NA> 8 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## causa2 causa3 causa4 causa5 causa6 causa7 hablaind lenguaind
## 73587 <NA> <NA> <NA> <NA> <NA> <NA> 2 <NA>
## 73588 <NA> <NA> <NA> <NA> <NA> <NA> 2 <NA>
## 73589 <NA> <NA> <NA> <NA> <NA> <NA> 2 <NA>
## 73590 <NA> <NA> <NA> <NA> <NA> <NA> 2 <NA>
## 73591 <NA> <NA> <NA> <NA> <NA> <NA> 2 <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## hablaesp comprenind etnia alfabetism asis_esc nivel grado tipoesc
## 73587 <NA> 2 2 1 2 <NA> <NA> <NA>
## 73588 <NA> 2 2 1 2 <NA> <NA> <NA>
## 73589 <NA> 2 2 1 2 <NA> <NA> <NA>
## 73590 <NA> 2 2 1 1 3 3 1
## 73591 <NA> 2 2 2 1 1 2 1
## 73592 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## tiene_b otorg_b forma_b tiene_c otorg_c forma_c nivelaprob
## 73587 <NA> <NA> <NA> <NA> <NA> <NA> 2
## 73588 <NA> <NA> <NA> <NA> <NA> <NA> 2
## 73589 <NA> <NA> <NA> <NA> <NA> <NA> 2
## 73590 2 <NA> <NA> <NA> <NA> <NA> 3
## 73591 2 <NA> <NA> <NA> <NA> <NA> 1
## 73592 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## gradoaprob antec_esc residencia edo_conyug pareja_hog conyuge_id
## 73587 4 <NA> 32 5 <NA> <NA>
## 73588 2 <NA> 32 6 <NA> <NA>
## 73589 3 <NA> 32 6 <NA> <NA>
## 73590 2 <NA> 32 3 <NA> <NA>
## 73591 1 <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA>
## segsoc ss_aa ss_mm redsoc_1 redsoc_2 redsoc_3 redsoc_4 redsoc_5
## 73587 2 NA NA 2 2 2 3 1
## 73588 2 NA NA 2 1 2 3 2
## 73589 2 NA NA 2 1 2 2 2
## 73590 2 NA NA 3 3 2 3 3
## 73591 <NA> NA NA <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> NA NA <NA> <NA> <NA> <NA> <NA>
## redsoc_6 hor_1 min_1 usotiempo1 hor_2 min_2 usotiempo2 hor_3 min_3
## 73587 <NA> NA NA 9 NA NA 9 NA NA
## 73588 4 4 0 <NA> NA NA 9 NA NA
## 73589 2 30 0 <NA> NA NA 9 NA NA
## 73590 3 NA NA 9 NA NA 9 NA NA
## 73591 <NA> NA NA <NA> NA NA <NA> NA NA
## 73592 <NA> NA NA <NA> NA NA <NA> NA NA
## usotiempo3 hor_4 min_4 usotiempo4 hor_5 min_5 usotiempo5 hor_6 min_6
## 73587 9 NA NA 9 NA NA 9 35 0
## 73588 9 21 0 <NA> 0 20 <NA> 28 0
## 73589 9 NA NA 9 NA NA 9 NA NA
## 73590 9 3 0 <NA> NA NA 9 28 0
## 73591 <NA> NA NA <NA> NA NA <NA> NA NA
## 73592 <NA> NA NA <NA> NA NA <NA> NA NA
## usotiempo6 hor_7 min_7 usotiempo7 hor_8 min_8 usotiempo8 segpop
## 73587 <NA> NA NA 9 18 0 <NA> 1
## 73588 <NA> 1 0 <NA> 12 0 <NA> 1
## 73589 9 NA NA 9 64 0 <NA> 2
## 73590 <NA> NA NA 9 35 0 <NA> 1
## 73591 <NA> NA NA <NA> NA NA <NA> 1
## 73592 <NA> NA NA <NA> NA NA <NA> 2
## atemed inst_1 inst_2 inst_3 inst_4 inst_5 inscr_1 inscr_2 inscr_3
## 73587 2 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73588 2 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73589 2 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73590 2 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 2 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 2 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## inscr_4 inscr_5 inscr_6 inscr_7 inscr_8 prob_anio prob_mes prob_sal
## 73587 <NA> <NA> <NA> <NA> <NA> 2014 08 1
## 73588 <NA> <NA> <NA> <NA> <NA> 2014 10 1
## 73589 <NA> <NA> <NA> <NA> <NA> 2013 01 2
## 73590 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 <NA> <NA> <NA> <NA> <NA> 2014 09 1
## 73592 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## aten_sal servmed_1 servmed_2 servmed_3 servmed_4 servmed_5 servmed_6
## 73587 1 <NA> <NA> <NA> 04 <NA> <NA>
## 73588 1 <NA> <NA> <NA> 04 <NA> <NA>
## 73589 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73590 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 1 <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## servmed_7 servmed_8 servmed_9 servmed_10 servmed_11 hh_lug mm_lug
## 73587 <NA> <NA> <NA> <NA> <NA> 0 10
## 73588 <NA> <NA> <NA> <NA> <NA> 0 15
## 73589 <NA> <NA> <NA> <NA> <NA> NA NA
## 73590 <NA> <NA> <NA> <NA> <NA> NA NA
## 73591 <NA> 08 <NA> <NA> <NA> 0 15
## 73592 <NA> <NA> <NA> <NA> <NA> NA NA
## hh_esp mm_esp pagoaten_1 pagoaten_2 pagoaten_3 pagoaten_4 pagoaten_5
## 73587 8 0 <NA> <NA> <NA> <NA> <NA>
## 73588 0 5 <NA> <NA> <NA> <NA> <NA>
## 73589 NA NA <NA> <NA> <NA> <NA> <NA>
## 73590 NA NA <NA> <NA> <NA> <NA> <NA>
## 73591 0 1 1 2 <NA> <NA> <NA>
## 73592 NA NA <NA> <NA> <NA> <NA> <NA>
## pagoaten_6 pagoaten_7 noatenc_1 noatenc_2 noatenc_3 noatenc_4
## 73587 <NA> 7 <NA> <NA> <NA> <NA>
## 73588 <NA> 7 <NA> <NA> <NA> <NA>
## 73589 <NA> <NA> <NA> <NA> <NA> <NA>
## 73590 <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA>
## noatenc_5 noatenc_6 noatenc_7 noatenc_8 noatenc_9 noatenc_10
## 73587 <NA> <NA> <NA> <NA> <NA> <NA>
## 73588 <NA> <NA> <NA> <NA> <NA> <NA>
## 73589 <NA> <NA> <NA> <NA> <NA> <NA>
## 73590 <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA>
## noatenc_11 noatenc_12 noatenc_13 noatenc_14 noatenc_15 noatenc_16
## 73587 <NA> <NA> <NA> <NA> <NA> <NA>
## 73588 <NA> <NA> <NA> <NA> <NA> <NA>
## 73589 <NA> <NA> <NA> <NA> 15 <NA>
## 73590 <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA>
## norecib_1 norecib_2 norecib_3 norecib_4 norecib_5 norecib_6
## 73587 <NA> <NA> <NA> <NA> <NA> <NA>
## 73588 <NA> <NA> <NA> <NA> <NA> <NA>
## 73589 <NA> <NA> <NA> <NA> <NA> <NA>
## 73590 <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA>
## norecib_7 norecib_8 norecib_9 norecib_10 norecib_11 razon_1 razon_2
## 73587 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73588 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73589 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73590 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## razon_3 razon_4 razon_5 razon_6 razon_7 razon_8 razon_9 razon_10
## 73587 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73588 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73589 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73590 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73591 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA> <NA> <NA> <NA> <NA>
## razon_11 diabetes pres_alta peso segvol_1 segvol_2 segvol_3 segvol_4
## 73587 <NA> 1 1 1 <NA> <NA> <NA> <NA>
## 73588 <NA> 1 1 1 <NA> <NA> <NA> <NA>
## 73589 <NA> 2 2 2 <NA> <NA> <NA> <NA>
## 73590 <NA> 1 1 1 <NA> <NA> <NA> <NA>
## 73591 <NA> <NA> <NA> 1 <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> 1 <NA> <NA> <NA> <NA>
## segvol_5 segvol_6 segvol_7 hijos_viv hijos_mue hijos_sob trabajo_mp
## 73587 <NA> 6 <NA> 10 3 7 2
## 73588 <NA> 6 <NA> 2 0 2 1
## 73589 <NA> 6 <NA> NA NA NA 1
## 73590 <NA> 6 <NA> 1 0 1 2
## 73591 <NA> <NA> <NA> NA NA NA <NA>
## 73592 <NA> <NA> <NA> NA NA NA <NA>
## motivo_aus act_pnea1 act_pnea2 num_trabaj
## 73587 <NA> 3 <NA> <NA>
## 73588 <NA> <NA> <NA> 1
## 73589 <NA> <NA> <NA> 2
## 73590 <NA> 3 <NA> <NA>
## 73591 <NA> <NA> <NA> <NA>
## 73592 <NA> <NA> <NA> <NA>
Hagamos un tabulado, por ejemplo cómo se distribuye la población según el hogar del jefe
table(merge_data2$sexo, merge_data2$sexo_jefe)
##
## Hombre Mujer
## 1 29887 6004
## 2 27415 10286
Para visualizar mejor esta tabla, podemos agregar el comando “addmargins”, con esto nos sumariza. Como R está más desarrollado para hacer matrices, no nos da los totales, pero siempre los podemos agregar.
addmargins(table(merge_data2$sexo, merge_data2$sexo_jefe))
##
## Hombre Mujer Sum
## 1 29887 6004 35891
## 2 27415 10286 37701
## Sum 57302 16290 73592
Hasta ahorita hemos hecho merge que son de unidades de distinto nivel y son incluyentes. A veces tenemos bases de datos que son de distinto tamaño y del mismo nivel. A veces las dos aportan casos y a veces aportan variables, y a veces, las dos aportan las dos cosas.
Hay secciones de la enigh que no corresponden a toda la población. Por ejemplo, la sección de trabajos sólo la llenan los mayores de 12 años, en la ENIGH. Vamos a pegar esta base a la base de población.
Cargamos la base de ingresos. (La puedes descargar desde aquí) Y sólo nos vamos a quedar con el trabajo principal, para que sea un renglón por persona.
enigh_trabajo_total <- read.dbf("ncv_trabajos_2014_concil_2010_dbf.dbf")
enigh_trabajo <- enigh_trabajo_total[enigh_trabajo_total$id_trabajo==1,]
Vamos a hacer el primer tipo de merge
merge_data3<-merge(enigh_pobla,enigh_trabajo, by=c("folioviv", "foliohog", "numren"))
dim(merge_data3)
## [1] 32722 226
¡La base nueva no tiene a toda la población, solo la que tiene en la base más pequeña! Tenemos sólo 32,722 personas.
Por default, el comando tiene activado la opción “all = TRUE”, que nos deja los datos comunes a ambas bases.
merge_data3<-merge(enigh_pobla,enigh_trabajo, by=c("folioviv", "foliohog", "numren"), all = TRUE)
Si queremos quedarnos con todos los datos que hay en la primera base, x, vamos a usar a opción all.x = TRUE.
merge_data3<-merge(enigh_pobla,enigh_trabajo, by=c("folioviv", "foliohog", "numren"), all.x = TRUE)
dim(merge_data3)
## [1] 73592 226
Notamos que hoy sí tenemos los datos de toda la población y hay missings en las variables aportadas por la base de trabajo
Si queremos lo contrario, quedarnos con los datos aportados por la segunda base, y, vamos a usar la opción all.y=TRUE
merge_data3<-merge(enigh_pobla,enigh_trabajo, by=c("folioviv", "foliohog", "numren"), all.y = TRUE)
dim(merge_data3)
## [1] 32722 226