Previo

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")

Juntando bases

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

Merge hogar a población (id compuesto)

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

Bases de distinto tamaño

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