--- title: "03 - Medidas de tendencia central" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{medias} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` ```{r setup} library(enaho) ``` Se pueden calcular medidas de tendencia central sobre cualquier variable de un objeto leído con `leer.inei()` o `leer.inei.web()`. Por ejemplo, para calcular las medidas de tendencia central 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 medidas de tendencia central de una variable usando `media.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} media.inei(x = "P7061", base = leido, pesos = "FACTRIM") ``` Como vemos, se genera una tabla con las medidas de tendencia central de la variable. ## Cálculo por estratos Podemos calcular medidas de tendencia central tomando en cuenta diversos **estratos** o grupos. Estos pueden ser cualquier variable de `base`. Por ejemplo, usando la variable `DOMINIO`: ```{r} media.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = "DOMINIO") ``` 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"`: ```{r} media.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = "region") ``` ### Cálculo por área geográfica Para hacerlo por **área geográfica**, usamos `"area"`: ```{r} media.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} media.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 medidas de tendencia central de la combinación de ellos: ```{r} media.inei(x = "P7061",base = leido, pesos = "FACTRIM", estratos = c("area","DOMINIO")) ``` Pero es posible combinar estratos usando el argumento `combinarestratos = TRUE`: ```{r} media.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 medidas de tendencia central sobre esta lista: ```{r} media.inei(x = "P7061", base = leido2, pesos = NULL) ``` 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} media.inei(x = "P7061", base = leido2, pesos = "FACTRIM") ``` Esto lo podemos resolver haciendo un vector con los nombres para cada período: ```{r,error=FALSE} media.inei(x = "P7061", base = leido2, pesos = c("FACTRIM","FACTOR"),) ``` ## Múltiples variables También podemos calcular múltiples variables a la vez, con las mismas opciones mostradas: ```{r,error=FALSE} media.inei(x = c("P7061","P7062"), base = leido2, pesos = c("FACTRIM","FACTOR"), estratos = "area") ``` ## Opciones adicionales Para la **estimación de la varianza** podemos optar por el método insesgado (n-1) o por máxima verosimilitud (n): ```{r} media.inei(x = "P7061", base = leido, pesos = "FACTRIM", var = "insesgado") ``` ```{r} media.inei(x = "P7061", base = leido, pesos = "FACTRIM", var = "MV") ``` Podemos imprimir los resultados con un número específico de **decimales**: ```{r} media.inei(x = "P7061", base = leido, pesos = "FACTRIM", decimales = 3) ```