1.1 Lectura de la encuesta.
Para el procesamiento de la información se emplea el archivo de la encuesta disponible en los repositorios de CEPAL, las cuales han sido estandarizadas previamente.
El proceso de la lectura inicia con el cargue de las siguientes librerías.
TeachingSampling: Esta librería proporciona herramientas para la enseñanza y práctica de métodos de muestreo. Incluye funciones para generar diseños de muestreo, realizar muestreo aleatorio simple y estratificado, entre otros.
survey: Esta librería proporciona herramientas para el análisis de datos de encuestas complejas. Permite crear y manejar diseños de muestreo, ajustar modelos estadísticos a datos de encuestas, estimar errores estándar y realizar pruebas de hipótesis. Es especialmente útil para datos de encuestas que involucren estratificación, conglomerados o ponderación.
tidyverse: Esta librería es un conjunto de paquetes diseñados para trabajar juntos y facilitar la manipulación, visualización y modelado de datos en R. Incluye ggplot2 para gráficos, dplyr para manipulación de datos, tidyr para limpieza de datos, readr para lectura de datos, entre otros.
srvyr: Esta librería extiende la funcionalidad de la librería survey, permitiendo el uso de la sintaxis “tidyverse” en el análisis de datos de encuestas complejas. Permite la manipulación y visualización de datos de encuestas mediante la integración con el paquete dplyr.
haven: Esta librería proporciona herramientas para la lectura, escritura y manejo de datos en formato SPSS, SAS y Stata. Permite la importación y exportación de datos entre R y otros programas estadísticos, así como la manipulación de metadatos y variables etiquetadas.
library(survey)
library(tidyverse)
library(srvyr)
library(TeachingSampling)
library(haven)La lectura de la base es realizada con la siguiente linea de código.
encuesta <- readRDS('01 Modelo de area/CHL/2017/Data/encuesta_2017.Rds')El siguiente código realiza una serie de transformaciones de datos utilizando el paquete tidyverse. Primero, se asigna a la variable length_upm la longitud máxima de los valores en la columna _upm de la encuesta. De manera similar, se asigna a la variable length_estrato la longitud máxima de los valores en la columna _estrato. Luego, se utiliza la función transmute() para crear nuevas variables y modificar las existentes. Se crea la variable dam (División Administrativa Mayor) a partir de la columna dam_ee, se convierte en factor y se utiliza la función str_pad() para agregar ceros a la izquierda hasta que tenga una longitud de 2 caracteres. De manera similar, se crea la variable dam2 a partir de la columna comuna, se convierte en factor y se utiliza la función str_pad() para agregar ceros a la izquierda hasta que tenga una longitud de 5 caracteres. También se crean variables nombre_dam y nombre_dam2 a partir de las mismas columnas dam_ee y comuna, respectivamente, pero se convierten en factores que utilizan los valores y etiquetas específicas. Se crea la variable upm a partir de la columna _upm, se utiliza la función str_pad() para agregar ceros a la izquierda hasta que tenga una longitud igual a length_upm. Se crea la variable estrato de manera similar a partir de la columna _estrato y utilizando length_estrato. Finalmente, se crean las variables fep y empleo, que se asignan a las columnas _fep y condact3, respectivamente. El resultado final es un conjunto de datos transformado con nuevas variables creadas y algunas columnas modificadas.
##
length_upm <- max(nchar(encuesta[["_upm"]]))
length_estrato <- max(nchar(encuesta[["_estrato"]]))
encuesta <-
encuesta %>%
transmute(
dam = as_factor(dam_ee,levels = "values"),
dam = str_pad(string = dam, width = 2, pad = "0"),
dam2 = as_factor(comuna,levels = "values"),
dam2 = str_pad(string =dam2, width = 5, pad = "0"),
nombre_dam = as_factor(dam_ee,levels = "labels"),
nombre_dam2 = as_factor(comuna,levels = "labels"),
upm = str_pad(string = `_upm`, width = length_upm, pad = "0"),
estrato = str_pad(string = `_estrato`, width = length_estrato , pad = "0"),
fep = `_fep`,
empleo = as_factor(condact3,levels = "values"),
etiquetas_empleo = as_factor(condact3, levels = "labels")
)
head(encuesta, 10) %>% tba(cap = "Encuesta trasnformada")| dam | dam2 | nombre_dam | nombre_dam2 | upm | estrato | fep | empleo | etiquetas_empleo |
|---|---|---|---|---|---|---|---|---|
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 1 | Ocupado |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 1 | Ocupado |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 1 | Ocupado |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 1 | Ocupado |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 1 | Ocupado |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 3 | Inactivo |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | -1 | NA |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 1 | Ocupado |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 2 | Desocupado |
| 01 | 01101 | Tarapacá | Iquique | 01100100001 | 011001 | 39 | 1 | Ocupado |
Realizando algunas validaciones sobre la base de datos:
encuesta %>% group_by( empleo, etiquetas_empleo) %>% tally() %>%
tba(cap = "Niveles de la variable empleo")| empleo | etiquetas_empleo | n |
|---|---|---|
| -1 | NA | 41363 |
| 1 | Ocupado | 92417 |
| 2 | Desocupado | 8671 |
| 3 | Inactivo | 73567 |
| 9 | NR | 421 |