--- title: "04 - Proporciones" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{proporciones} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r setup} library(enaho) ``` 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: ```{r} dir <- system.file("extdata", package = "enaho") # directorio con las bases leido <- leer.inei(modulo = 37,periodos = 2011,tipo = c("t1"),directorio = dir) leido ``` 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: ```{r} proporcion.inei(x = "P7061", base = leido, pesos = "FACTRIM") ``` 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`: ```{r} proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = "DOMINIO") ``` 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 (sólo en bases de la ENAHO) Para hacerlo por **región**, usamos `"region"`: ```{r} proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = "region") ``` ### Cálculo por área geográfica (sólo en bases de la ENAHO) Para hacerlo por **área geográfica**, usamos `"area"`: ```{r} proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = "area") ``` 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`: ```{r} proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = "area", ruralidad = 7:8) ``` ### 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: ```{r} proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = c("area","DOMINIO")) ``` Pero es posible combinar estratos usando el argumento `combinarestratos = TRUE`: ```{r} proporcion.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = c("area","DOMINIO"), combinarestratos = TRUE) ``` ## 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: ```{r} leido2 <- leer.inei(modulo = 37,periodos = c(2011,2024),tipo = c("t1"),directorio = dir, combinar = TRUE) class(leido2) ``` Sin embargo, sí es posible calcular proporciones sobre esta lista: ```{r} proporcion.inei(x = "P7061", base = leido2, pesos = NULL) ``` 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: ```{r} proporcion.inei(x = "P7061", base = leido2, pesos = NULL, forzaretiquetas = TRUE) ``` Cuando introducimos los **pesos**, es posible que exista un error porque no necesariamente todos los períodos tienen el mismo nombre para los pesos: ```{r,error=TRUE} proporcion.inei(x = "P7061", base = leido2, pesos = "FACTRIM", forzaretiquetas = TRUE) ``` Esto lo podemos resolver haciendo un vector con los nombres para cada período: ```{r,error=FALSE} proporcion.inei(x = "P7061", base = leido2, pesos = c("FACTRIM","FACTOR"), forzaretiquetas = TRUE) ``` ## 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: ```{r,error=FALSE} proporcion.inei(x = c("P7061","P7062"), base = leido2, pesos = c("FACTRIM","FACTOR"), estratos = "area", forzaretiquetas = TRUE) ``` ## Opciones adicionales Podemos imprimir los resultados de una variable en **formato largo**: ```{r} proporcion.inei(x = "P7061", base = leido, pesos = "FACTRIM", formatolargo = TRUE) ``` Podemos imprimir los resultados como **porcentaje**: ```{r} proporcion.inei(x = "P7061", base = leido, pesos = "FACTRIM", porcentaje = TRUE) ``` Podemos imprimir los resultados con un número específico de **decimales**: ```{r} proporcion.inei(x = "P7061", base = leido, pesos = "FACTRIM", decimales = 3) ```