T1: Cuestionario Ampliado

Previo

Introducción

Aquí dejo la presentación

Descarga el proyecto desde acá

En esta liga puedes descarga el proyecto de trabajo. De esta manera no tendremos problemas con las rutas relativas.

https://tinyurl.com/demos-talleres

Video de la sesión

Paquetes

if (!require("pacman")) install.packages("pacman") # instala pacman si se requiere
Loading required package: pacman
pacman::p_load(tidyverse,
               haven, 
               readr,
               foreign,
               janitor) #carga los paquetes necesarios 

Importación de datos

Recuerdo que se debe revisar la documentación

https://www.inegi.org.mx/programas/ccpv/2020/#Microdatos

Desde .csv

Los archivos “.csv” son archivos separados por comas. Los podemos abrir con un bloc de notas para revisar

Hay dos comandos que nos permiten importar archivos de texto, el de base read.csv() y readr::read_csv()

viviendas01 <- read.csv("data_t1/Viviendas01.CSV")

revisemos los nombres y las primeres 6 líneas

names(viviendas01)
 [1] "ENT"              "MUN"              "LOC50K"           "ID_VIV"          
 [5] "COBERTURA"        "ESTRATO"          "UPM"              "FACTOR"          
 [9] "CLAVIVP"          "PAREDES"          "TECHOS"           "PISOS"           
[13] "COCINA"           "CUADORM"          "TOTCUART"         "LUG_COC"         
[17] "COMBUSTIBLE"      "ESTUFA"           "ELECTRICIDAD"     "FOCOS"           
[21] "FOCOS_AHORRA"     "AGUA_ENTUBADA"    "ABA_AGUA_ENTU"    "ABA_AGUA_NO_ENTU"
[25] "TINACO"           "CISTERNA"         "BOMBA_AGUA"       "REGADERA"        
[29] "BOILER"           "CALENTADOR_SOLAR" "AIRE_ACON"        "PANEL_SOLAR"     
[33] "SERSAN"           "CONAGUA"          "USOEXC"           "DRENAJE"         
[37] "SEPARACION1"      "SEPARACION2"      "SEPARACION3"      "SEPARACION4"     
[41] "DESTINO_BAS"      "REFRIGERADOR"     "LAVADORA"         "HORNO"           
[45] "AUTOPROP"         "MOTOCICLETA"      "BICICLETA"        "RADIO"           
[49] "TELEVISOR"        "COMPUTADORA"      "TELEFONO"         "CELULAR"         
[53] "INTERNET"         "SERV_TV_PAGA"     "SERV_PEL_PAGA"    "CON_VJUEGOS"     
[57] "TENENCIA"         "ESCRITURAS"       "FORMA_ADQUI"      "FINANCIAMIENTO1" 
[61] "FINANCIAMIENTO2"  "FINANCIAMIENTO3"  "DEUDA"            "NUMPERS"         
[65] "DUE1_NUM"         "DUE2_NUM"         "MCONMIG"          "MNUMPERS"        
[69] "INGR_PEROTROPAIS" "INGR_PERDENTPAIS" "INGR_AYUGOB"      "INGR_JUBPEN"     
[73] "ALIMENTACION"     "ALIM_ADL1"        "ALIM_ADL2"        "ING_ALIM_ADL1"   
[77] "ING_ALIM_ADL2"    "ING_ALIM_ADL3"    "TIPOHOG"          "INGTRHOG"        
[81] "JEFE_SEXO"        "JEFE_EDAD"        "TAMLOC"          
head(viviendas01)
  ENT MUN LOC50K    ID_VIV COBERTURA        ESTRATO UPM FACTOR CLAVIVP PAREDES
1   1   1      1 1.001e+10         2 01-001-0001-00   1     59       1       8
2   1   1      1 1.001e+10         2 01-001-0001-00   1     59       1       8
3   1   1      1 1.001e+10         2 01-001-0001-00   1     59       1       8
4   1   1      1 1.001e+10         2 01-001-0001-00   1     59       1       8
5   1   1      1 1.001e+10         2 01-001-0001-00   1     59       1       8
6   1   1      1 1.001e+10         2 01-001-0001-00   1     59       1       8
  TECHOS PISOS COCINA CUADORM TOTCUART LUG_COC COMBUSTIBLE ESTUFA ELECTRICIDAD
1     10     3      1       3        5       1           2     NA            1
2     10     3      1       3        6       1           2     NA            1
3     10     3      1       1        2       1           2     NA            1
4     10     3      1       2        6       1           2     NA            1
5     10     3      1       3        4       1           2     NA            1
6     10     3      1       3        4       1           2     NA            1
  FOCOS FOCOS_AHORRA AGUA_ENTUBADA ABA_AGUA_ENTU ABA_AGUA_NO_ENTU TINACO
1    25           25             1             1               NA      1
2    15           15             1             1               NA      2
3    10           10             1             1               NA      2
4    18           18             1             1               NA      2
5    16           16             1             1               NA      2
6    42           42             1             1               NA      1
  CISTERNA BOMBA_AGUA REGADERA BOILER CALENTADOR_SOLAR AIRE_ACON PANEL_SOLAR
1        3          5        7      1                3         6           8
2        3          5        7      2                3         6           8
3        3          5        7      1                3         5           8
4        3          5        7      1                3         6           8
5        3          5        7      2                3         6           8
6        3          5        7      1                4         5           8
  SERSAN CONAGUA USOEXC DRENAJE SEPARACION1 SEPARACION2 SEPARACION3 SEPARACION4
1      1       1      3       1           1           4           6           8
2      1       1      3       1           2           4           5           8
3      1       1      3       1           2           4           6           8
4      1       1      3       1           2           4           6           7
5      1       1      3       1           1           4           6           8
6      1       1      3       1           2           4           6           8
  DESTINO_BAS REFRIGERADOR LAVADORA HORNO AUTOPROP MOTOCICLETA BICICLETA RADIO
1           1            1        3     5        7           2         4     6
2           1            1        3     5        7           2         4     5
3           1            1        3     5        7           2         4     5
4           1            1        3     5        7           2         4     5
5           1            1        3     5        7           2         4     5
6           1            1        3     5        7           2         4     5
  TELEVISOR COMPUTADORA TELEFONO CELULAR INTERNET SERV_TV_PAGA SERV_PEL_PAGA
1         7           1        3       5        7            1             3
2         7           1        3       5        7            1             3
3         7           1        4       5        7            2             3
4         7           1        4       5        7            1             4
5         7           1        3       5        7            1             3
6         7           1        3       5        7            1             3
  CON_VJUEGOS TENENCIA ESCRITURAS FORMA_ADQUI FINANCIAMIENTO1 FINANCIAMIENTO2
1           6        1          1           2               6              NA
2           5        1          1           2               8              NA
3           6        1          1           2               8              NA
4           5        1          1           1               5              NA
5           5        1          1           1               5              NA
6           5        1          1           1               5              NA
  FINANCIAMIENTO3 DEUDA NUMPERS DUE1_NUM DUE2_NUM MCONMIG MNUMPERS
1              NA     2       3        1       NA       3       NA
2              NA    NA       4        1       NA       3       NA
3              NA    NA       1        1       NA       3       NA
4              NA     2       3        1       NA       3       NA
5              NA     2       4        1       NA       3       NA
6              NA     2       4        1       NA       3       NA
  INGR_PEROTROPAIS INGR_PERDENTPAIS INGR_AYUGOB INGR_JUBPEN ALIMENTACION
1                2                4           6           7            3
2                2                4           6           8            3
3                2                4           6           8            3
4                2                4           6           8            3
5                2                4           6           8            3
6                2                4           6           8            3
  ALIM_ADL1 ALIM_ADL2 ING_ALIM_ADL1 ING_ALIM_ADL2 ING_ALIM_ADL3 TIPOHOG
1         2         4             2             4             6       1
2         2         4             2             4             6       1
3         2         4             2             4             6       5
4         2         4             2             4             6       1
5         2         4             2             4             6       1
6         2         4             2             4             6       1
  INGTRHOG JEFE_SEXO JEFE_EDAD TAMLOC
1       NA         3        55      5
2    30100         1        45      5
3    20000         1        60      5
4    66000         1        62      5
5    25000         1        52      5
6    50000         1        40      5
viviendas01 <- read_csv("data_t1/Viviendas01.CSV")
Rows: 24349 Columns: 83
── Column specification ────────────────────────────────────────────────────────
Delimiter: ","
chr (10): ENT, MUN, LOC50K, ID_VIV, ESTRATO, UPM, CLAVIVP, TECHOS, DUE1_NUM,...
dbl (73): COBERTURA, FACTOR, PAREDES, PISOS, COCINA, CUADORM, TOTCUART, LUG_...

ℹ Use `spec()` to retrieve the full column specification for this data.
ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
names(viviendas01)
 [1] "ENT"              "MUN"              "LOC50K"           "ID_VIV"          
 [5] "COBERTURA"        "ESTRATO"          "UPM"              "FACTOR"          
 [9] "CLAVIVP"          "PAREDES"          "TECHOS"           "PISOS"           
[13] "COCINA"           "CUADORM"          "TOTCUART"         "LUG_COC"         
[17] "COMBUSTIBLE"      "ESTUFA"           "ELECTRICIDAD"     "FOCOS"           
[21] "FOCOS_AHORRA"     "AGUA_ENTUBADA"    "ABA_AGUA_ENTU"    "ABA_AGUA_NO_ENTU"
[25] "TINACO"           "CISTERNA"         "BOMBA_AGUA"       "REGADERA"        
[29] "BOILER"           "CALENTADOR_SOLAR" "AIRE_ACON"        "PANEL_SOLAR"     
[33] "SERSAN"           "CONAGUA"          "USOEXC"           "DRENAJE"         
[37] "SEPARACION1"      "SEPARACION2"      "SEPARACION3"      "SEPARACION4"     
[41] "DESTINO_BAS"      "REFRIGERADOR"     "LAVADORA"         "HORNO"           
[45] "AUTOPROP"         "MOTOCICLETA"      "BICICLETA"        "RADIO"           
[49] "TELEVISOR"        "COMPUTADORA"      "TELEFONO"         "CELULAR"         
[53] "INTERNET"         "SERV_TV_PAGA"     "SERV_PEL_PAGA"    "CON_VJUEGOS"     
[57] "TENENCIA"         "ESCRITURAS"       "FORMA_ADQUI"      "FINANCIAMIENTO1" 
[61] "FINANCIAMIENTO2"  "FINANCIAMIENTO3"  "DEUDA"            "NUMPERS"         
[65] "DUE1_NUM"         "DUE2_NUM"         "MCONMIG"          "MNUMPERS"        
[69] "INGR_PEROTROPAIS" "INGR_PERDENTPAIS" "INGR_AYUGOB"      "INGR_JUBPEN"     
[73] "ALIMENTACION"     "ALIM_ADL1"        "ALIM_ADL2"        "ING_ALIM_ADL1"   
[77] "ING_ALIM_ADL2"    "ING_ALIM_ADL3"    "TIPOHOG"          "INGTRHOG"        
[81] "JEFE_SEXO"        "JEFE_EDAD"        "TAMLOC"          
head(viviendas01)
# A tibble: 6 × 83
  ENT   MUN   LOC50K ID_VIV       COBERTURA ESTRATO UPM   FACTOR CLAVIVP PAREDES
  <chr> <chr> <chr>  <chr>            <dbl> <chr>   <chr>  <dbl> <chr>     <dbl>
1 01    001   0001   010010000001         2 01-001… 00001     59 01            8
2 01    001   0001   010010000002         2 01-001… 00001     59 01            8
3 01    001   0001   010010000003         2 01-001… 00001     59 01            8
4 01    001   0001   010010000004         2 01-001… 00001     59 01            8
5 01    001   0001   010010000005         2 01-001… 00001     59 01            8
6 01    001   0001   010010000006         2 01-001… 00001     59 01            8
# ℹ 73 more variables: TECHOS <chr>, PISOS <dbl>, COCINA <dbl>, CUADORM <dbl>,
#   TOTCUART <dbl>, LUG_COC <dbl>, COMBUSTIBLE <dbl>, ESTUFA <dbl>,
#   ELECTRICIDAD <dbl>, FOCOS <dbl>, FOCOS_AHORRA <dbl>, AGUA_ENTUBADA <dbl>,
#   ABA_AGUA_ENTU <dbl>, ABA_AGUA_NO_ENTU <dbl>, TINACO <dbl>, CISTERNA <dbl>,
#   BOMBA_AGUA <dbl>, REGADERA <dbl>, BOILER <dbl>, CALENTADOR_SOLAR <dbl>,
#   AIRE_ACON <dbl>, PANEL_SOLAR <dbl>, SERSAN <dbl>, CONAGUA <dbl>,
#   USOEXC <dbl>, DRENAJE <dbl>, SEPARACION1 <dbl>, SEPARACION2 <dbl>, …

Desde SAS

viviendas01 <- haven::read_sas("data_t1/viviendas01.sas7bdat")

names(viviendas01)
 [1] "ENT"              "MUN"              "LOC50K"           "ID_VIV"          
 [5] "COBERTURA"        "ESTRATO"          "UPM"              "FACTOR"          
 [9] "CLAVIVP"          "PAREDES"          "TECHOS"           "PISOS"           
[13] "COCINA"           "CUADORM"          "TOTCUART"         "LUG_COC"         
[17] "COMBUSTIBLE"      "ESTUFA"           "ELECTRICIDAD"     "FOCOS"           
[21] "FOCOS_AHORRA"     "AGUA_ENTUBADA"    "ABA_AGUA_ENTU"    "ABA_AGUA_NO_ENTU"
[25] "TINACO"           "CISTERNA"         "BOMBA_AGUA"       "REGADERA"        
[29] "BOILER"           "CALENTADOR_SOLAR" "AIRE_ACON"        "PANEL_SOLAR"     
[33] "SERSAN"           "CONAGUA"          "USOEXC"           "DRENAJE"         
[37] "SEPARACION1"      "SEPARACION2"      "SEPARACION3"      "SEPARACION4"     
[41] "DESTINO_BAS"      "REFRIGERADOR"     "LAVADORA"         "HORNO"           
[45] "AUTOPROP"         "MOTOCICLETA"      "BICICLETA"        "RADIO"           
[49] "TELEVISOR"        "COMPUTADORA"      "TELEFONO"         "CELULAR"         
[53] "INTERNET"         "SERV_TV_PAGA"     "SERV_PEL_PAGA"    "CON_VJUEGOS"     
[57] "TENENCIA"         "ESCRITURAS"       "FORMA_ADQUI"      "FINANCIAMIENTO1" 
[61] "FINANCIAMIENTO2"  "FINANCIAMIENTO3"  "DEUDA"            "NUMPERS"         
[65] "DUE1_NUM"         "DUE2_NUM"         "MCONMIG"          "MNUMPERS"        
[69] "INGR_PEROTROPAIS" "INGR_PERDENTPAIS" "INGR_AYUGOB"      "INGR_JUBPEN"     
[73] "ALIMENTACION"     "ALIM_ADL1"        "ALIM_ADL2"        "ING_ALIM_ADL1"   
[77] "ING_ALIM_ADL2"    "ING_ALIM_ADL3"    "TIPOHOG"          "INGTRHOG"        
[81] "JEFE_SEXO"        "JEFE_EDAD"        "TAMLOC"          
head(viviendas01)
# A tibble: 6 × 83
  ENT   MUN   LOC50K ID_VIV       COBERTURA ESTRATO UPM   FACTOR CLAVIVP PAREDES
  <chr> <chr> <chr>  <chr>        <chr>     <chr>   <chr>  <dbl> <chr>   <chr>  
1 01    001   0001   010010000001 2         01-001… 00001     59 01      8      
2 01    001   0001   010010000002 2         01-001… 00001     59 01      8      
3 01    001   0001   010010000003 2         01-001… 00001     59 01      8      
4 01    001   0001   010010000004 2         01-001… 00001     59 01      8      
5 01    001   0001   010010000005 2         01-001… 00001     59 01      8      
6 01    001   0001   010010000006 2         01-001… 00001     59 01      8      
# ℹ 73 more variables: TECHOS <chr>, PISOS <chr>, COCINA <chr>, CUADORM <dbl>,
#   TOTCUART <dbl>, LUG_COC <chr>, COMBUSTIBLE <chr>, ESTUFA <chr>,
#   ELECTRICIDAD <chr>, FOCOS <dbl>, FOCOS_AHORRA <dbl>, AGUA_ENTUBADA <chr>,
#   ABA_AGUA_ENTU <chr>, ABA_AGUA_NO_ENTU <chr>, TINACO <chr>, CISTERNA <chr>,
#   BOMBA_AGUA <chr>, REGADERA <chr>, BOILER <chr>, CALENTADOR_SOLAR <chr>,
#   AIRE_ACON <chr>, PANEL_SOLAR <chr>, SERSAN <chr>, CONAGUA <chr>,
#   USOEXC <chr>, DRENAJE <chr>, SEPARACION1 <chr>, SEPARACION2 <chr>, …

Desde .dta

viviendas01 <- haven::read_dta("data_t1/Viviendas01.dta")

Desde .sav

viviendas01 <- haven::read_sav("data_t1/Viviendas01.sav")

Fusionado de datos

Para ello vamos a importar también la base de personas

personas01 <- haven::read_sav("data_t1/Personas01.SAV")

Veamos las dimensiones de estas tablas

dim(viviendas01)
[1] 24349    83
dim(personas01)
[1] 95983    91

Con el INEGI no hay problema, pero bien vale revisar los id sean únicos:

viviendas01 %>% 
  janitor::get_dupes(ID_VIV)
No duplicate combinations found of: ID_VIV
# A tibble: 0 × 84
# ℹ 84 variables: ID_VIV <chr>, dupe_count <int>, ENT <chr+lbl>, MUN <chr>,
#   LOC50K <chr>, COBERTURA <chr+lbl>, ESTRATO <chr>, UPM <chr>, FACTOR <dbl>,
#   CLAVIVP <chr+lbl>, PAREDES <chr+lbl>, TECHOS <chr+lbl>, PISOS <chr+lbl>,
#   COCINA <chr+lbl>, CUADORM <dbl+lbl>, TOTCUART <dbl+lbl>, LUG_COC <chr+lbl>,
#   COMBUSTIBLE <chr+lbl>, ESTUFA <chr+lbl>, ELECTRICIDAD <chr+lbl>,
#   FOCOS <dbl+lbl>, FOCOS_AHORRA <dbl+lbl>, AGUA_ENTUBADA <chr+lbl>,
#   ABA_AGUA_ENTU <chr+lbl>, ABA_AGUA_NO_ENTU <chr+lbl>, TINACO <chr+lbl>, …
personas01 %>% 
  janitor::get_dupes(ID_PERSONA)
No duplicate combinations found of: ID_PERSONA
# A tibble: 0 × 92
# ℹ 92 variables: ID_PERSONA <chr>, dupe_count <int>, ENT <chr+lbl>, MUN <chr>,
#   LOC50K <chr>, ID_VIV <chr>, COBERTURA <chr+lbl>, ESTRATO <chr>, UPM <chr>,
#   FACTOR <dbl>, CLAVIVP <chr+lbl>, NUMPER <chr>, SEXO <chr+lbl>,
#   EDAD <dbl+lbl>, PARENTESCO <chr+lbl>, IDENT_MADRE <chr+lbl>,
#   IDENT_PADRE <chr+lbl>, ENT_PAIS_NAC <chr+lbl>, NACIONALIDAD <chr+lbl>,
#   SERSALUD <chr+lbl>, AFRODES <chr+lbl>, REGIS_NAC <chr+lbl>,
#   DHSERSAL1 <chr+lbl>, DHSERSAL2 <chr+lbl>, RELIGION <chr+lbl>, …

Con merge()

Casos en ambas bases

Por default, el comando tiene activado la opción “all = FALSE”, que nos deja los datos de ambas bases comunes. (tipo una intersección)

cacenso01<-merge(viviendas01, 
                 personas01,
                 by="ID_VIV", 
                 all = F)
dim(cacenso01)
[1] 95983   173
names(cacenso01)
  [1] "ID_VIV"             "ENT.x"              "MUN.x"             
  [4] "LOC50K.x"           "COBERTURA.x"        "ESTRATO.x"         
  [7] "UPM.x"              "FACTOR.x"           "CLAVIVP.x"         
 [10] "PAREDES"            "TECHOS"             "PISOS"             
 [13] "COCINA"             "CUADORM"            "TOTCUART"          
 [16] "LUG_COC"            "COMBUSTIBLE"        "ESTUFA"            
 [19] "ELECTRICIDAD"       "FOCOS"              "FOCOS_AHORRA"      
 [22] "AGUA_ENTUBADA"      "ABA_AGUA_ENTU"      "ABA_AGUA_NO_ENTU"  
 [25] "TINACO"             "CISTERNA"           "BOMBA_AGUA"        
 [28] "REGADERA"           "BOILER"             "CALENTADOR_SOLAR"  
 [31] "AIRE_ACON"          "PANEL_SOLAR"        "SERSAN"            
 [34] "CONAGUA"            "USOEXC"             "DRENAJE"           
 [37] "SEPARACION1"        "SEPARACION2"        "SEPARACION3"       
 [40] "SEPARACION4"        "DESTINO_BAS"        "REFRIGERADOR"      
 [43] "LAVADORA"           "HORNO"              "AUTOPROP"          
 [46] "MOTOCICLETA"        "BICICLETA"          "RADIO"             
 [49] "TELEVISOR"          "COMPUTADORA"        "TELEFONO"          
 [52] "CELULAR"            "INTERNET"           "SERV_TV_PAGA"      
 [55] "SERV_PEL_PAGA"      "CON_VJUEGOS"        "TENENCIA"          
 [58] "ESCRITURAS"         "FORMA_ADQUI"        "FINANCIAMIENTO1"   
 [61] "FINANCIAMIENTO2"    "FINANCIAMIENTO3"    "DEUDA"             
 [64] "NUMPERS"            "DUE1_NUM"           "DUE2_NUM"          
 [67] "MCONMIG"            "MNUMPERS"           "INGR_PEROTROPAIS"  
 [70] "INGR_PERDENTPAIS"   "INGR_AYUGOB"        "INGR_JUBPEN"       
 [73] "ALIMENTACION"       "ALIM_ADL1"          "ALIM_ADL2"         
 [76] "ING_ALIM_ADL1"      "ING_ALIM_ADL2"      "ING_ALIM_ADL3"     
 [79] "TIPOHOG"            "INGTRHOG"           "JEFE_SEXO"         
 [82] "JEFE_EDAD"          "TAMLOC.x"           "ENT.y"             
 [85] "MUN.y"              "LOC50K.y"           "ID_PERSONA"        
 [88] "COBERTURA.y"        "ESTRATO.y"          "UPM.y"             
 [91] "FACTOR.y"           "CLAVIVP.y"          "NUMPER"            
 [94] "SEXO"               "EDAD"               "PARENTESCO"        
 [97] "IDENT_MADRE"        "IDENT_PADRE"        "ENT_PAIS_NAC"      
[100] "NACIONALIDAD"       "SERSALUD"           "AFRODES"           
[103] "REGIS_NAC"          "DHSERSAL1"          "DHSERSAL2"         
[106] "RELIGION"           "DIS_VER"            "DIS_OIR"           
[109] "DIS_CAMINAR"        "DIS_RECORDAR"       "DIS_BANARSE"       
[112] "DIS_HABLAR"         "DIS_MENTAL"         "CAU_VER"           
[115] "CAU_OIR"            "CAU_CAMINAR"        "CAU_RECORDAR"      
[118] "CAU_BANARSE"        "CAU_HABLAR"         "CAU_MENTAL"        
[121] "HLENGUA"            "QDIALECT_INALI"     "HESPANOL"          
[124] "ELENGUA"            "PERTE_INDIGENA"     "ASISTEN"           
[127] "MUN_ASI"            "ENT_PAIS_ASI"       "TIE_TRASLADO_ESCU" 
[130] "MED_TRASLADO_ESC1"  "MED_TRASLADO_ESC2"  "MED_TRASLADO_ESC3" 
[133] "NIVACAD"            "ESCOLARI"           "NOMCAR_C"          
[136] "ALFABET"            "ESCOACUM"           "ENT_PAIS_RES_5A"   
[139] "MUN_RES_5A"         "CAUSA_MIG_V"        "SITUA_CONYUGAL"    
[142] "IDENT_PAREJA"       "CONACT"             "OCUPACION_C"       
[145] "SITTRA"             "AGUINALDO"          "VACACIONES"        
[148] "SERVICIO_MEDICO"    "UTILIDADES"         "INCAP_SUELDO"      
[151] "SAR_AFORE"          "CREDITO_VIVIENDA"   "INGTRMEN"          
[154] "HORTRA"             "ACTIVIDADES_C"      "MUN_TRAB"          
[157] "ENT_PAIS_TRAB"      "TIE_TRASLADO_TRAB"  "MED_TRASLADO_TRAB1"
[160] "MED_TRASLADO_TRAB2" "MED_TRASLADO_TRAB3" "HIJOS_NAC_VIVOS"   
[163] "HIJOS_FALLECIDOS"   "HIJOS_SOBREVIV"     "FECHA_NAC_M"       
[166] "FECHA_NAC_A"        "SOBREVIVENCIA"      "IDENT_HIJO"        
[169] "EDAD_MORIR_D"       "EDAD_MORIR_M"       "EDAD_MORIR_A"      
[172] "EDAD_MORIR_TD"      "TAMLOC.y"          

Todos los casos

Si cambiamos la opción “all = TRUE”, que nos deja los datos comunes a ambas bases. (como una unión)

cacenso01<-merge(viviendas01,
                   personas01, 
                   by="ID_VIV", 
                   all = T)
dim(cacenso01)
[1] 95983   173

Casos en la base 1

Si queremos quedarnos con todos los datos que hay en la primera base, x, vamos a usar a opción all.x = TRUE.

cacenso01<-merge(viviendas01, 
                   personas01,
                   by="ID_VIV", 
                   all.x  = TRUE)
dim(cacenso01)
[1] 95983   173

Casos de la base 2

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

cacenso01<-merge(viviendas01, 
                   personas01,
                   by="ID_VIV",
                   all.y  = TRUE)
dim(cacenso01)
[1] 95983   173

Con {dplyr}

El caso 1:

cacenso01<-dplyr::inner_join(viviendas01,
                               personas01,
                               by="ID_VIV")
dim(cacenso01)
[1] 95983   173

El caso 2:

cacenso01<-dplyr::full_join(viviendas01, 
                              personas01, 
                              by="ID_VIV")
dim(cacenso01)
[1] 95983   173

El caso 3:

cacenso01<-dplyr::left_join(viviendas01,
                              personas01, 
                              by="ID_VIV")
dim(cacenso01)
[1] 95983   173

El caso 4:

cacenso01<-dplyr::right_join(viviendas01, 
                               personas01,
                               by="ID_VIV")
dim(cacenso01)
[1] 95983   173

También se puede usar con pipes, cualquier opción de dplyr

cacenso01<-viviendas01 %>% # pongo el conjunto que será la "izquierda
  dplyr::right_join(personas01, 
                    by="ID_VIV")
dim(cacenso01)
[1] 95983   173

Agregar casos

Supongamos que queremos pegar la información de viviendas de Aguascalientes y Tlaxcala

viviendas29 <- read_sav("data_t1/Viviendas29.SAV")

Con rbind()

viviendas01_29<-rbind(viviendas01, viviendas29)
table(viviendas01_29$ENT)

   01    29 
24349 86142 

Con dplyr::bind_rows

viviendas01_29<-dplyr::bind_rows(viviendas01, viviendas29)