dosr provee funciones de alto nivel para calcular
estimaciones sobre diseños de encuestas complejas (como la CASEN) y
generar reportes estandarizados en Excel con clasificación de fiabilidad
estadística.
El paquete incluye dos subconjuntos de la Encuesta CASEN listos para
usar: casen_2022 (202 231 hogares) y
casen_2024 (218 367 hogares). Ambas contienen las variables
necesarias para reproducir todos los ejemplos de esta viñeta.
library(dosr)
library(srvyr)
#>
#> Attaching package: 'srvyr'
#> The following object is masked from 'package:stats':
#>
#> filter
design_2022 <- as_survey_design(casen_2022,
ids = varunit,
strata = varstrat,
weights = expr
)
design_2024 <- as_survey_design(casen_2024,
ids = varunit,
strata = varstrat,
weights = expr
)obs_prop()Distribución de la población según situación de pobreza, desagregada por región:
resultado_prop <- obs_prop(
design_2022,
sufijo = "2022",
var = "pobreza",
des = "region",
porcentaje = TRUE,
save_xlsx = FALSE,
verbose = FALSE
)
head(resultado_prop[, c("region", "pobreza", "prop_2022", "fiabilidad_2022")])
#> # A tibble: 6 × 4
#> region pobreza prop_2022 fiabilidad_2022
#> <fct> <fct> <dbl> <chr>
#> 1 <NA> Pobreza extrema 8.48 Fiable
#> 2 <NA> Pobreza no extrema 12.0 Fiable
#> 3 <NA> Fuera de la pobreza 79.5 Fiable
#> 4 Región de Tarapacá Pobreza extrema 12.6 Fiable
#> 5 Región de Tarapacá Pobreza no extrema 14.1 Fiable
#> 6 Región de Tarapacá Fuera de la pobreza 73.2 Fiableobs_media()Ingreso total del hogar corregido (ytotcorh) promedio
por región en 2022:
resultado_media <- obs_media(
design_2022,
sufijo = "2022",
var = "ytotcorh",
des = "region",
save_xlsx = FALSE,
verbose = FALSE
)
head(resultado_media[, c("region", "media_2022", "fiabilidad_2022")])
#> # A tibble: 6 × 3
#> region media_2022 fiabilidad_2022
#> <fct> <dbl> <chr>
#> 1 <NA> 1713534. Fiable
#> 2 Región de Tarapacá 1515201. Fiable
#> 3 Región de Antofagasta 1819321. Fiable
#> 4 Región de Atacama 1487318. Fiable
#> 5 Región de Coquimbo 1438892. Fiable
#> 6 Región de Valparaíso 1499137. Fiableobs_cuantil()Mediana del ingreso del hogar por región:
resultado_cuantil <- obs_cuantil(
design_2022,
sufijo = "2022",
var = "ytotcorh",
des = "region",
cuant = 0.5,
save_xlsx = FALSE,
verbose = FALSE
)
head(resultado_cuantil[, c("region", "cuantil_2022", "fiabilidad_2022")])
#> # A tibble: 6 × 3
#> region cuantil_2022 fiabilidad_2022
#> <fct> <dbl> <chr>
#> 1 <NA> 1250000 Fiable
#> 2 Región de Tarapacá 1230736 Fiable
#> 3 Región de Antofagasta 1416697 Fiable
#> 4 Región de Atacama 1205000 Fiable
#> 5 Región de Coquimbo 1120083 Fiable
#> 6 Región de Valparaíso 1165472 Fiableobs_total()Población en situación de pobreza por ingresos (variable binaria
construida desde pobreza):
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
design_2022_pob <- design_2022
design_2022_pob$variables <- design_2022_pob$variables %>%
mutate(pobre = as.integer(as.numeric(pobreza) %in% c(1, 2)))
resultado_total <- obs_total(
design_2022_pob,
sufijo = "2022",
var = "pobre",
des = "region",
save_xlsx = FALSE,
verbose = FALSE
)
head(resultado_total[, c("region", "total_2022", "fiabilidad_2022")])
#> # A tibble: 6 × 3
#> region total_2022 fiabilidad_2022
#> <fct> <dbl> <chr>
#> 1 <NA> 4070695 Fiable
#> 2 Región de Tarapacá 106748 Fiable
#> 3 Región de Antofagasta 138875 Fiable
#> 4 Región de Atacama 67461 Fiable
#> 5 Región de Coquimbo 209288 Fiable
#> 6 Región de Valparaíso 419063 Fiableobs_ratio()Razón de feminidad (mujeres / hombres) por región:
design_2022_sex <- design_2022
design_2022_sex$variables <- design_2022_sex$variables %>%
mutate(
mujer = as.integer(as.numeric(sexo) == 2),
hombre = as.integer(as.numeric(sexo) == 1)
)
resultado_ratio <- obs_ratio(
design_2022_sex,
sufijo = "2022",
num = "mujer",
den = "hombre",
des = "region",
save_xlsx = FALSE,
verbose = FALSE
)
head(resultado_ratio[, c("region", "ratio_2022", "fiabilidad_2022")])
#> # A tibble: 6 × 3
#> region ratio_2022 fiabilidad_2022
#> <fct> <dbl> <chr>
#> 1 <NA> 1.03 Fiable
#> 2 Región de Tarapacá 0.984 Fiable
#> 3 Región de Antofagasta 0.989 Fiable
#> 4 Región de Atacama 0.983 Fiable
#> 5 Región de Coquimbo 1.04 Fiable
#> 6 Región de Valparaíso 1.05 FiablePasando una lista de diseños con el argumento sufijo, se
comparan múltiples rondas en una sola llamada. El ejemplo compara la
tasa de pobreza por región entre 2022 y 2024:
resultado_serie <- obs_prop(
designs = list(design_2022, design_2024),
sufijo = c("2022", "2024"),
var = "pobreza",
des = "region",
porcentaje = TRUE,
save_xlsx = FALSE,
verbose = FALSE
)
cols <- c("region", "pobreza", "prop_2022", "prop_2024",
"fiabilidad_2022", "fiabilidad_2024")
head(resultado_serie[, cols])
#> # A tibble: 6 × 6
#> region pobreza prop_2022 prop_2024 fiabilidad_2022 fiabilidad_2024
#> <fct> <fct> <dbl> <dbl> <chr> <chr>
#> 1 <NA> Pobrez… 8.48 6.87 Fiable Fiable
#> 2 <NA> Pobrez… 12.0 10.4 Fiable Fiable
#> 3 <NA> Fuera … 79.5 82.7 Fiable Fiable
#> 4 Región de Tarapacá Pobrez… 12.6 8.97 Fiable Fiable
#> 5 Región de Tarapacá Pobrez… 14.1 11.8 Fiable Fiable
#> 6 Región de Tarapacá Fuera … 73.2 79.2 Fiable Fiablemulti_bin()Prevalencia de los ocho indicadores de inseguridad alimentaria (FIES) de la CASEN 2024, desagregada por área urbana/rural:
resultado_bin <- multi_bin(
design_2024,
vars_binarias = paste0("r8", letters[1:8]),
des = "area",
dir = tempdir(),
verbose = FALSE
)
nac <- resultado_bin$desagregacion_tipo == "Nacional"
resultado_bin[nac, c("etiqueta", "estimacion", "fiabilidad")]
#> # A tibble: 8 × 3
#> etiqueta estimacion fiabilidad
#> <chr> <dbl> <chr>
#> 1 r8a 31.2 Fiable
#> 2 r8b 22.7 Fiable
#> 3 r8c 23.8 Fiable
#> 4 r8d 11.3 Fiable
#> 5 r8e 16.1 Fiable
#> 6 r8f 9.28 Fiable
#> 7 r8g 8.93 Fiable
#> 8 r8h 5.14 FiableTodos los resultados incluyen una columna fiabilidad (o
fiabilidad_{sufijo} en series de tiempo):
| Valor | Significado |
|---|---|
| Fiable | Estimación publicable |
| Poco Fiable | Publicar con advertencia |
| No Fiable | No publicar |
| Sin casos | Subgrupo vacío |
Los umbrales son configurables con cv_umbral_alto,
cv_umbral_medio y n_minimo.
Cuando save_xlsx = TRUE (valor por defecto), cada
función genera un .xlsx en el directorio dir —
que debe especificarse explícitamente, p. ej.
dir = tempdir() o una carpeta del proyecto — con:
Con sig = TRUE y múltiples diseños, las hojas de formato
incluyen adicionalmente tablas de p-valores para comparaciones
intra-año, contra el año anterior y contra el total nacional.