Skip to contents

Se pueden calcular proporciones sobre cualquier variable de un objeto leído con leer.inei() o leer.inei.web(). Por ejemplo, para calcular las proporciones de la variable "P7061" del primer trimestre de 2011, primero cargamos la base:

dir <- system.file("extdata", package = "enaho") # directorio con las bases
leido <- leer.inei(modulo = 37,periodos = 2011,tipo = c("t1"),directorio = dir)
#> Leyendo 1 archivo.
#> Leyendo archivo 1 de 1.
leido
#> # A tibble: 4,625 × 24
#>    AÑO   MES   CONGLOME VIVIENDA HOGAR UBIGEO DOMINIO ESTRATO CODINFOR  P702
#>    <chr> <chr> <chr>    <chr>    <chr> <chr>    <dbl>   <dbl> <chr>    <dbl>
#>  1 2011  01    0007     049      11    010101       4       4 01           3
#>  2 2011  01    0007     075      11    010101       4       4 02           5
#>  3 2011  01    0027     047      11    010504       4       7 02           2
#>  4 2011  01    0027     047      11    010504       4       7 02           3
#>  5 2011  01    0027     047      11    010504       4       7 02           5
#>  6 2011  01    0027     047      11    010504       4       7 02           5
#>  7 2011  01    0027     108      11    010504       4       7 02           3
#>  8 2011  01    0027     108      11    010504       4       7 02           4
#>  9 2011  01    0027     109      11    010504       4       7 01           4
#> 10 2011  01    0027     110      11    010504       4       7 02           4
#> # ℹ 4,615 more rows
#> # ℹ 14 more variables: P703 <dbl+lbl>, P704 <dbl+lbl>, P705 <dbl+lbl>,
#> #   P7061 <dbl+lbl>, P7062 <dbl+lbl>, P7063 <dbl+lbl>, P7064 <dbl+lbl>,
#> #   P7065 <dbl+lbl>, P706A1 <dbl+lbl>, P706A2 <dbl+lbl>, P706A3 <dbl+lbl>,
#> #   P706A4 <dbl+lbl>, TICUEST01 <dbl+lbl>, FACTRIM <dbl>

Una vez cargada, podemos calcular las proporciones de una variable usando proporcion.inei(), donde x será el nombre de la(s) variable(s), base será el objeto leído, y pesos será el nombre de la variable que contiene los pesos:

proporcion.inei(x = "P7061", base = leido, pesos = "FACTRIM")
#>   Período  Estrato   Nombre Variable      Pase Sí, pagó en dinero
#> 1    2011 Nacional Nacional    P7061 0.5094712          0.4905288

Como vemos, se genera una tabla con todas las categorías de la variable.

Cálculo por estratos

Podemos calcular proporciones tomando en cuenta diversos estratos o grupos. Estos pueden ser cualquier variable de base. Por ejemplo, usando la variable DOMINIO:

proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM",
                 estratos = "DOMINIO")
#>   Período  Estrato   Nombre Variable      Pase Sí, pagó en dinero
#> 1    2011 Nacional Nacional    P7061 0.5094712          0.4905288
#> 2    2011  DOMINIO        1    P7061 0.5725683          0.4274317
#> 3    2011  DOMINIO        2    P7061 0.3087030          0.6912970
#> 4    2011  DOMINIO        3    P7061 0.3826709          0.6173291
#> 5    2011  DOMINIO        4    P7061 0.7411016          0.2588984
#> 6    2011  DOMINIO        5    P7061 0.5203982          0.4796018
#> 7    2011  DOMINIO        6    P7061 0.5443270          0.4556730
#> 8    2011  DOMINIO        7    P7061 0.6511964          0.3488036
#> 9    2011  DOMINIO        8    P7061 0.1808784          0.8191216

Vemos que en 2011 hay 8 dominios (no etiquetados) y los resultados se presentan por cada uno de ellos.

Además de usar cualquier variable, también es posible calcular resultados por región y por área geográfica.

Cálculo por región

Para hacerlo por región, usamos "region":

proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM",
                 estratos = "region")
#>    Período  Estrato        Nombre Variable      Pase Sí, pagó en dinero
#> 1     2011 Nacional      Nacional    P7061 0.5094712          0.4905288
#> 2     2011   Región      AMAZONAS    P7061 0.6906379          0.3093621
#> 3     2011   Región        ANCASH    P7061 0.6339238          0.3660762
#> 4     2011   Región      APURIMAC    P7061 0.6688937          0.3311063
#> 5     2011   Región      AREQUIPA    P7061 0.5644237          0.4355763
#> 6     2011   Región      AYACUCHO    P7061 0.4338506          0.5661494
#> 7     2011   Región     CAJAMARCA    P7061 0.7852436          0.2147564
#> 8     2011   Región        CALLAO    P7061 0.3471748          0.6528252
#> 9     2011   Región         CUSCO    P7061 0.3812129          0.6187871
#> 10    2011   Región  HUANCAVELICA    P7061 0.5087897          0.4912103
#> 11    2011   Región       HUANUCO    P7061 0.4069921          0.5930079
#> 12    2011   Región           ICA    P7061 0.3542673          0.6457327
#> 13    2011   Región         JUNIN    P7061 0.7626412          0.2373588
#> 14    2011   Región   LA LIBERTAD    P7061 0.6267056          0.3732944
#> 15    2011   Región    LAMBAYEQUE    P7061 0.8547198          0.1452802
#> 16    2011   Región          LIMA    P7061 0.1826197          0.8173803
#> 17    2011   Región        LORETO    P7061 0.5830936          0.4169064
#> 18    2011   Región MADRE DE DIOS    P7061 0.5220190          0.4779810
#> 19    2011   Región      MOQUEGUA    P7061 0.4549213          0.5450787
#> 20    2011   Región         PASCO    P7061 0.5467217          0.4532783
#> 21    2011   Región         PIURA    P7061 0.4296127          0.5703873
#> 22    2011   Región          PUNO    P7061 0.5672177          0.4327823
#> 23    2011   Región    SAN MARTIN    P7061 0.6783964          0.3216036
#> 24    2011   Región         TACNA    P7061 0.3415172          0.6584828
#> 25    2011   Región        TUMBES    P7061 0.7895966          0.2104034
#> 26    2011   Región       UCAYALI    P7061 0.6395970          0.3604030

Cálculo por área geográfica

Para hacerlo por área geográfica, usamos "area":

proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM",
                 estratos = "area")
#>   Período  Estrato   Nombre Variable      Pase Sí, pagó en dinero
#> 1    2011 Nacional Nacional    P7061 0.5094712          0.4905288
#> 2    2011     Área   Urbana    P7061 0.4040843          0.5959157
#> 3    2011     Área    Rural    P7061 0.6029572          0.3970428

En el caso del área geográfica, ésta se determina usando la variable "ESTRATO" de base. Esta variable suele contener 8 categorías, y las categorías 6, 7 y 8 suelen ser consideras rurales. Sin embargo, podemos cambiar esta definición con el argumento ruralidad cuyo valor por defecto es 6:8:

proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM",
                 estratos = "area",
                 ruralidad = 7:8)
#>   Período  Estrato   Nombre Variable      Pase Sí, pagó en dinero
#> 1    2011 Nacional Nacional    P7061 0.5094712          0.4905288
#> 2    2011     Área   Urbana    P7061 0.4556884          0.5443116
#> 3    2011     Área    Rural    P7061 0.5759101          0.4240899

Combinación de estratos

Si utilizamos más de un estrato, por defecto no serán halladas las proporciones de la combinación de ellos:

proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM",
                 estratos = c("area","DOMINIO"))
#>    Período  Estrato   Nombre Variable      Pase Sí, pagó en dinero
#> 1     2011 Nacional Nacional    P7061 0.5094712          0.4905288
#> 2     2011     Área   Urbana    P7061 0.4040843          0.5959157
#> 3     2011     Área    Rural    P7061 0.6029572          0.3970428
#> 4     2011  DOMINIO        1    P7061 0.5725683          0.4274317
#> 5     2011  DOMINIO        2    P7061 0.3087030          0.6912970
#> 6     2011  DOMINIO        3    P7061 0.3826709          0.6173291
#> 7     2011  DOMINIO        4    P7061 0.7411016          0.2588984
#> 8     2011  DOMINIO        5    P7061 0.5203982          0.4796018
#> 9     2011  DOMINIO        6    P7061 0.5443270          0.4556730
#> 10    2011  DOMINIO        7    P7061 0.6511964          0.3488036
#> 11    2011  DOMINIO        8    P7061 0.1808784          0.8191216

Pero es posible combinar estratos usando el argumento combinarestratos = TRUE:

proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM",
                 estratos = c("area","DOMINIO"),
                 combinarestratos = TRUE)
#>    Período      Estrato   Nombre Variable      Pase Sí, pagó en dinero
#> 1     2011     Nacional Nacional    P7061 0.5094712          0.4905288
#> 2     2011         Área   Urbana    P7061 0.4040843          0.5959157
#> 3     2011         Área    Rural    P7061 0.6029572          0.3970428
#> 4     2011      DOMINIO        1    P7061 0.5725683          0.4274317
#> 5     2011      DOMINIO        2    P7061 0.3087030          0.6912970
#> 6     2011      DOMINIO        3    P7061 0.3826709          0.6173291
#> 7     2011      DOMINIO        4    P7061 0.7411016          0.2588984
#> 8     2011      DOMINIO        5    P7061 0.5203982          0.4796018
#> 9     2011      DOMINIO        6    P7061 0.5443270          0.4556730
#> 10    2011      DOMINIO        7    P7061 0.6511964          0.3488036
#> 11    2011      DOMINIO        8    P7061 0.1808784          0.8191216
#> 12    2011 Área_DOMINIO Urbana_1    P7061 0.5032507          0.4967493
#> 13    2011 Área_DOMINIO Urbana_2    P7061 0.2694531          0.7305469
#> 14    2011 Área_DOMINIO Urbana_3    P7061 0.3665883          0.6334117
#> 15    2011 Área_DOMINIO Urbana_4    P7061 0.7785809          0.2214191
#> 16    2011 Área_DOMINIO Urbana_5    P7061 0.5077609          0.4922391
#> 17    2011 Área_DOMINIO Urbana_6    P7061 0.5682125          0.4317875
#> 18    2011 Área_DOMINIO Urbana_7    P7061 0.6139821          0.3860179
#> 19    2011 Área_DOMINIO Urbana_8    P7061 0.1808784          0.8191216
#> 20    2011 Área_DOMINIO  Rural_1    P7061 0.7545385          0.2454615
#> 21    2011 Área_DOMINIO  Rural_2    P7061 0.3994594          0.6005406
#> 22    2011 Área_DOMINIO  Rural_3    P7061 0.5993993          0.4006007
#> 23    2011 Área_DOMINIO  Rural_4    P7061 0.7362002          0.2637998
#> 24    2011 Área_DOMINIO  Rural_5    P7061 0.5236780          0.4763220
#> 25    2011 Área_DOMINIO  Rural_6    P7061 0.5303208          0.4696792
#> 26    2011 Área_DOMINIO  Rural_7    P7061 0.6769487          0.3230513
#> 27    2011 Área_DOMINIO  Rural_8    P7061       NaN                NaN

Cálculo de más de un período

Si más de un período es leído por leer.inei() o leer.inei.web() se genera una lista. Si bien esta lista se puede combinar, no siempre es posible:

leido2 <- leer.inei(modulo = 37,periodos = c(2011,2024),tipo = c("t1"),directorio = dir,
                   combinar = TRUE)
#> Leyendo 2 archivos.
#> Leyendo archivo 1 de 2.
#> Leyendo archivo 2 de 2.
#> Warning in combinar.inei(out, combinarsolocomunes = combinarsolocomunes): 
#> No se pudo combinar la lista porque al menos una variable con el mismo nombre no tiene las mismas etiquetas.
class(leido2)
#> [1] "list"

Sin embargo, sí es posible calcular proporciones sobre esta lista:

proporcion.inei(x = "P7061", base = leido2, pesos = NULL)
#>   Período  Estrato   Nombre Variable      PASE SI,PAGOENDINERO SI,CONDINERO
#> 1 2011_t1 Nacional Nacional    P7061 0.5643243       0.4356757           NA
#> 2 2024_t1 Nacional Nacional    P7061 0.6181161              NA    0.3818839

Es importante notar que las etiquetas de las categorías han cambiado. Esto se debe a que 2011 y 2024 no comparten exactamente las mismas etiquetas. Para resolver este problema se remueven los espacios en blanco y se convierten a mayúsculas. Pero como se ve en el ejemplo, seguimos teniendo etiquetas que no coinciden.

Sin embargo, si creemos que las etiquetas tienen el mismo orden podemos forzarlas a que sean las mismas. Para ello, la función utilizará las etiquetas con mayor número de categorías del período más reciente:

proporcion.inei(x = "P7061", base = leido2, pesos = NULL,
                 forzaretiquetas = TRUE)
#>   Período  Estrato   Nombre Variable      PASE SI,CONDINERO
#> 1 2011_t1 Nacional Nacional    P7061 0.5643243    0.4356757
#> 2 2024_t1 Nacional Nacional    P7061 0.6181161    0.3818839

Cuando introducimos los pesos, es posible que exista un error porque no necesariamente todos los períodos tienen el mismo nombre para los pesos:

proporcion.inei(x = "P7061", base = leido2, pesos = "FACTRIM",
                 forzaretiquetas = TRUE)
#> Error in `basek[, pesok]`:
#> ! Can't subset columns that don't exist.
#>  Column `FACTRIM` doesn't exist.

Esto lo podemos resolver haciendo un vector con los nombres para cada período:

proporcion.inei(x = "P7061", base = leido2, pesos = c("FACTRIM","FACTOR"),
                 forzaretiquetas = TRUE)
#>   Período  Estrato   Nombre Variable      PASE SI,CONDINERO
#> 1 2011_t1 Nacional Nacional    P7061 0.5094712    0.4905288
#> 2 2024_t1 Nacional Nacional    P7061 0.5826425    0.4173575

Múltiples variables

También podemos calcular múltiples variables a la vez, con las mismas opciones mostradas, el resultado será siempre en formato largo:

proporcion.inei(x = c("P7061","P7062"), base = leido2, pesos = c("FACTRIM","FACTOR"),
                 estratos = "area", forzaretiquetas = TRUE)
#>    Período  Estrato   Nombre Variable                Categoría Proporción
#> 1  2011_t1 Nacional Nacional    P7061                     PASE 0.50947121
#> 2  2011_t1     Área   Urbana    P7061                     PASE 0.40408430
#> 3  2011_t1     Área    Rural    P7061                     PASE 0.60295723
#> 4  2024_t1 Nacional Nacional    P7061                     PASE 0.58264251
#> 5  2024_t1     Área   Urbana    P7061                     PASE 0.53082728
#> 6  2024_t1     Área    Rural    P7061                     PASE 0.65384025
#> 7  2011_t1 Nacional Nacional    P7061             SI,CONDINERO 0.49052879
#> 8  2011_t1     Área   Urbana    P7061             SI,CONDINERO 0.59591570
#> 9  2011_t1     Área    Rural    P7061             SI,CONDINERO 0.39704277
#> 10 2024_t1 Nacional Nacional    P7061             SI,CONDINERO 0.41735749
#> 11 2024_t1     Área   Urbana    P7061             SI,CONDINERO 0.46917272
#> 12 2024_t1     Área    Rural    P7061             SI,CONDINERO 0.34615975
#> 13 2011_t1 Nacional Nacional    P7062                     PASE 0.90364984
#> 14 2011_t1     Área   Urbana    P7062                     PASE 0.96857138
#> 15 2011_t1     Área    Rural    P7062                     PASE 0.84605961
#> 16 2024_t1 Nacional Nacional    P7062                     PASE 0.85959122
#> 17 2024_t1     Área   Urbana    P7062                     PASE 0.93960228
#> 18 2024_t1     Área    Rural    P7062                     PASE 0.74965044
#> 19 2011_t1 Nacional Nacional    P7062 SI,REALIZANDOALGUNALABOR 0.09635016
#> 20 2011_t1     Área   Urbana    P7062 SI,REALIZANDOALGUNALABOR 0.03142862
#> 21 2011_t1     Área    Rural    P7062 SI,REALIZANDOALGUNALABOR 0.15394039
#> 22 2024_t1 Nacional Nacional    P7062 SI,REALIZANDOALGUNALABOR 0.14040878
#> 23 2024_t1     Área   Urbana    P7062 SI,REALIZANDOALGUNALABOR 0.06039772
#> 24 2024_t1     Área    Rural    P7062 SI,REALIZANDOALGUNALABOR 0.25034956

Opciones adicionales

Podemos imprimir los resultados de una variable en formato largo:

proporcion.inei(x = "P7061", base = leido, pesos = "FACTRIM",
                 formatolargo = TRUE)
#>   Período  Estrato   Nombre Variable          Categoría Proporción
#> 1    2011 Nacional Nacional    P7061               Pase  0.5094712
#> 2    2011 Nacional Nacional    P7061 Sí, pagó en dinero  0.4905288

Podemos imprimir los resultados como porcentaje:

proporcion.inei(x = "P7061", base = leido, pesos = "FACTRIM",
                 porcentaje = TRUE)
#>   Período  Estrato   Nombre Variable     Pase Sí, pagó en dinero
#> 1    2011 Nacional Nacional    P7061 50.94712           49.05288

Podemos imprimir los resultados con un número específico de decimales:

proporcion.inei(x = "P7061", base = leido, pesos = "FACTRIM",
                 decimales = 3)
#>   Período  Estrato   Nombre Variable  Pase Sí, pagó en dinero
#> 1    2011 Nacional Nacional    P7061 0.509              0.491