Materiales de trabajo: Utilizaremos la base de datos de la Encuesta Permanente de Hogares (EPH) correspondiente al primer trimestre de 2023, realizada por el Instituto Nacional de Estadísticas y Censos (INDEC).
Para utilizar R, es necesario descargar dos programas: R Base y RStudio. R Base es el lenguaje de programación subyacente, mientras que RStudio es un entorno de desarrollo integrado (IDE) diseñado específicamente para trabajar con R.
Instrucciones para instalar R Base:
Para Windows:
Para macOS:
Instrucciones para instalar R Studio
1.Visita el sitio RStudio 2.Selecciona el enlace correspondiente a tu sistema operativo Windows o macOS.
R es un lenguaje de programación orientado al análisis estadístico, que nos permite dar indicaciones dentro de un software, para el procesamiento y la visualización de datos. Programa de procesamiento de datos
R es una herramienta esencial para estudiantes de ciencias sociales debido a su amplia variedad de paquetes estadísticos y su naturaleza gratuita y de código abierto. Software Libre y gratuito.
Con una sintaxis intuitiva y una gran comunidad de usuarios, R facilita el análisis de datos, desde la importación y limpieza hasta la visualización y modelado. Permite un flujo de trabajo integrado
Su accesibilidad y flexibilidad lo convierten en la opción ideal para aprender estadística y realizar proyectos de investigación, ofreciendo una plataforma sólida y versátil para desarrollar habilidades analíticas clave. Fácil aprendizaje
La consola es donde interactúas directamente con R. Puedes escribir comandos y ver los resultados inmediatos. Es útil para probar rápidamente pequeñas porciones de código, realizar cálculos simples o explorar datos. La consola es la interfaz de línea de comandos de R.
El ambiente se refiere al conjunto de variables, objetos, funciones y sus valores que están disponibles en la sesión actual de R.
Editor de codigo s donde visualizaremos los archivos de R
que abramos. Normalmente trabajaremos con archivos Markdown. Al interior
de estos archivos podremos ir escribiendo nuestro código. Es necesario
distinguir entre las partes del código que son chunks y las que
no lo son. Los chunks son bloques de código R delimitados por
etiquetas especiales de inicio ({r}) y fin (). Estos
bloques permiten la ejecución de código R y configuraciones específicas.
Mientras que las partes fuera de los chunks son tratadas como texto
normal y no se ejecutan como código R. Se crean con la combinación de
teclas Ctrl + Alt + I.
En el Panel vemos, los archivos, gráficos, bibliotecas, ayudas y visualizador de objetos del tipo web.
En R, los paquetes pueden expandir su funcionalidad. Cada paquete es una colección de funciones diseñadas para atender una tarea específica. Por ejemplo, hay paquetes para visualización geoespacial, análisis psicométricos, minería de datos, entre otros.
El paquete Tidyverse es una colección de paquetes de R pensados para la denominada “ciencia de datos”. Comparten la misma filosofía de uso, por lo que trabajan en armonía entre unos y otros.
El paquete eph tiene como objetivo facilitar el trabajo con los microdatos de la Encuesta Permanente de Hogares. Este tutorial busca ejemplificar un pipeline de trabajo más o menos típico para mostrar el uso de las funciones del paquete.
Los paquetes deben instalarse una vez por computadora con la función
install.packages() e iniciarse todas las veces con la
función library().
options(repos = "https://cran.rstudio.com/")
install.packages("eph")
install.packages("tidyverse")
library("eph")
library("tidyverse")
En los próximos minutos vamos a trabajar sobre los conceptos básicos que necesitamos saber sobre R.
Cualquier cosa que existe en R y que tiene un nombre es un OBJETO: gráficos, números, vectores, funciones, secuencias, bases de datos, etc. El operador <- se utiliza para asignar valores a estos objetos.
Mejor_universidad <- "UNSAM"
Mejor_universidad
## [1] "UNSAM"
Alumnos_UNSAM <- 17578
Alumnos_UBA <- 318935
Alumnos_UBA == Alumnos_UNSAM
## [1] FALSE
Alumnos_UBA < Alumnos_UNSAM
## [1] FALSE
Alumnos_UBA > Alumnos_UNSAM
## [1] TRUE
Mejor_universidad == "UBA"
## [1] FALSE
Mejor_universidad == "UNSAM"
## [1] TRUE
FELICITACIONES ESCRIBIERON SU PRIMER LINEA DE CÓDIGO
De esta simple forma, se creo el objeto “Mejor_universidad” al cual le asignamos con <- el valor “UNSAM”. Cuando escribimos Mejor_universidad y corremos el código, la consola de RStudio nos devuelve “UNSAM”
Ahora probemos con asignar la cantidad de alumnos de la UBA y de la UNSAM a dos objetos nuevos. Si le preguntamos si son iguales que nos devuelve? si le preguntamos cual es mayor o cuales menor? y si le preguntamos cual es la mejor universidad nuevamente?
De esta forma estamos trabajando con los objetos que tenemos el ambiente.
Nota: R utiliza las comillas dobles ““ para interpretar el nombre del objeto como una cadena de caracteres y distinguirlo de las palabras clave del lenguaje o de otros símbolos.
Es importante también que distingamos los tipos de objetos. Mientras que “UNSAM” es una palabra, 17578 es un número. Cada tipo de objeto nos permite hacer diferentes cosas, por ejemplo a los números le podemos hacer operaciones aritméticas.
Para consultar que tipo de objeto es usamos la función class()
class(Alumnos_UBA)
## [1] "numeric"
class(Mejor_universidad)
## [1] "character"
Alumnos_UBA + Alumnos_UNSAM
## [1] 336513
Alumnos_UBA - Alumnos_UNSAM
## [1] 301357
Porcentaje_UNSAM_UBA <- Alumnos_UNSAM/ Alumnos_UBA * 100
Asignemos a un objeto la EPH individual del primer cuatrimestre del 2023
Para esto usamos la función get_microdata del paquete EPH que descargamos antes.
Esta es la función principal que se utiliza para cargar datos de microdatos. A la función es necesario indicarle tres argumentos.
year = 2023: Este argumento indica el año de los datos de la encuesta que se desean cargar. period = 3: Este argumento indica el período de los datos de la encuesta que se desean cargar. type = “individual”. Este argumento indica el tipo de datos de la encuesta que se desea cargar.
como ya sabemos, el operador <- se utiliza para asignar valores a estos objetos. En este caso asignamos la descarga de la EPH al objeto “eph23_1” que va a aparecer en nuestro ambiente.
eph23_3<-get_microdata(year = 2023, period = 3, type = "individual")
Si quisiéramos ver que hay adentro del objeto que creamos podemos simplemente hacer doble click en el ambiente o abrirlo con la función view(). Esta función nos pide como parámetros que le indiquemos que objeto queremos ver.
view(eph23_3)
El operador %>% en R es conocido como tubería o pipe. Toma el resultado de la expresión a su izquierda y lo pasa como el primer argumento de la función a su derecha. Esto permite escribir código de manera más fluida, ya que evita la necesidad de anidar múltiples llamadas a funciones y mejora la legibilidad del código. El atajo de teclado es Ctrl + Shift + M.
Con el Pipe podemos entonces sumar otra función a get_microdata. La función organize_labels nos trae las etiquetas a los códigos de la base para no tener que ponerlos a mano. En la practica seria como indicarle hace primero get_microdata y despues organize_labels
eph23_3<-get_microdata(year = 2023, period = 3, type = "individual") %>%
organize_labels(.,"individual")
A veces, ver todo el dataset completo es muy difícil, ya sea porque no entra en la pantalla o porque es muy pesado. Se utilizan distintas funciones para explorar sin abrirlo.
glimpse(): Esta función es parte del paquete dplyr y proporciona una forma compacta de visualizar la estructura de un dataframe. Muestra las primeras filas del dataframe y una descripción concisa de sus columnas, incluyendo sus nombres, tipos de datos y algunos de los valores.
head(): Esta función muestra las primeras filas de un dataframe, lo que permite una vista previa rápida de los datos.
tail(): Similar a head(), pero muestra las últimas filas del dataframe.
names(): Esta función devuelve los nombres de las columnas de un dataframe como un vector de caracteres.
glimpse(eph23_3)
## Rows: 48,335
## Columns: 177
## $ CODUSU <labelled> "TQRMNOPSSHJOKSCDEFOCD00804371", "TQSMNORWTHJMKTCDEFOC…
## $ ANO4 <labelled> 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, 2023, …
## $ TRIMESTRE <labelled> 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, …
## $ NRO_HOGAR <labelled> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
## $ COMPONENTE <labelled> 5, 1, 3, 2, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 1, 2, 1, …
## $ H15 <labelled> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, …
## $ REGION <labelled> 41, 41, 41, 41, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43…
## $ MAS_500 <labelled> "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N",…
## $ AGLOMERADO <labelled> 8, 8, 8, 8, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36…
## $ PONDERA <labelled> 341, 339, 339, 339, 143, 143, 143, 143, 111, 111, 111,…
## $ CH03 <labelled> 3, 1, 3, 2, 1, 2, 3, 3, 1, 2, 3, 3, 3, 1, 3, 1, 2, 1, …
## $ CH04 <labelled> 2, 1, 2, 2, 2, 1, 2, 2, 1, 2, 1, 2, 2, 2, 1, 2, 1, 1, …
## $ CH05 <labelled> "02/10/2012", "01/01/1900", "20/03/2006", "01/01/1900"…
## $ CH06 <labelled> 10, 51, 17, 51, 31, 29, 12, 15, 35, 32, 4, 3, 1, 51, 2…
## $ CH07 <labelled> 5, 2, 5, 2, 1, 1, 5, 5, 1, 1, 5, 5, 5, 3, 5, 2, 2, 3, …
## $ CH08 <labelled> 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 4, 1, 1, 1, …
## $ CH09 <labelled> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, …
## $ CH10 <labelled> 1, 2, 1, 2, 2, 2, 1, 1, 2, 2, 1, 3, 0, 2, 2, 2, 2, 2, …
## $ CH11 <labelled> 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, …
## $ CH12 <labelled> 2, 6, 4, 2, 3, 5, 3, 5, 5, 3, 1, 0, 0, 4, 3, 2, 2, 2, …
## $ CH13 <labelled> 2, 1, 2, 1, 1, 1, 2, 2, 1, 1, 2, 0, 0, 2, 2, 1, 1, 2, …
## $ CH14 <labelled> "04", "", "04", "", "", "", "06", "00", "", "", "00", …
## $ CH15 <labelled> 1, 2, 1, 1, 1, 1, 1, 1, 4, 4, 1, 1, 1, 2, 1, 2, 2, 2, …
## $ CH15_COD <labelled> NA, NA, NA, NA, NA, NA, NA, NA, 202, 202, NA, NA, NA, …
## $ CH16 <labelled> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 6, 6, 1, 1, 1, 1, 1, …
## $ CH16_COD <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ NIVEL_ED <labelled> 1, 6, 3, 2, 3, 4, 1, 3, 4, 3, 7, 7, 7, 3, 1, 2, 2, 1, …
## $ ESTADO <labelled> 3, 1, 3, 3, 3, 1, 3, 3, 1, 3, 4, 4, 4, 1, 1, 3, 3, 1, …
## $ CAT_OCUP <labelled> 0, 3, 0, 0, 0, 2, 0, 0, 2, 0, 0, 0, 0, 2, 2, 0, 0, 3, …
## $ CAT_INAC <labelled> 3, 0, 3, 4, 4, 0, 3, 3, 0, 4, 5, 5, 5, 0, 0, 1, 1, 0, …
## $ IMPUTA <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP02C1 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02C2 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02C3 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02C4 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02C5 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02C6 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02C7 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02C8 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02E <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ PP02H <labelled> 2, 0, 2, 2, 2, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, …
## $ PP02I <labelled> 2, 0, 2, 2, 2, 0, 2, 2, 0, 2, 0, 0, 0, 0, 0, 2, 2, 0, …
## $ PP03C <labelled> NA, 1, NA, NA, NA, 1, NA, NA, 1, NA, NA, NA, NA, 2, 1,…
## $ PP03D <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 2, 0,…
## $ PP3E_TOT <labelled> NA, 16, NA, NA, NA, 60, NA, NA, 48, NA, NA, NA, NA, 48…
## $ PP3F_TOT <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 40, 0…
## $ PP03G <labelled> NA, 2, NA, NA, NA, 2, NA, NA, 2, NA, NA, NA, NA, 2, 2,…
## $ PP03H <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP03I <labelled> NA, 2, NA, NA, NA, 2, NA, NA, 2, NA, NA, NA, NA, 2, 2,…
## $ PP03J <labelled> NA, 2, NA, NA, NA, 2, NA, NA, 2, NA, NA, NA, NA, 2, 2,…
## $ INTENSI <labelled> NA, 2, NA, NA, NA, 3, NA, NA, 3, NA, NA, NA, NA, 3, 3,…
## $ PP04A <labelled> NA, 2, NA, NA, NA, 2, NA, NA, 2, NA, NA, NA, NA, 2, 2,…
## $ PP04B_COD <labelled> "", "9409", "", "", "", "4904", "", "", "4000", "", ""…
## $ PP04B1 <labelled> NA, 2, NA, NA, NA, 2, NA, NA, 2, NA, NA, NA, NA, 2, 2,…
## $ PP04B2 <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP04B3_MES <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP04B3_ANO <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP04B3_DIA <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP04C <labelled> NA, 6, NA, NA, NA, 1, NA, NA, 3, NA, NA, NA, NA, 2, 2,…
## $ PP04C99 <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP04D_COD <labelled> "", "10312", "", "", "", "34123", "", "", "72113", "",…
## $ PP04G <labelled> NA, 9, NA, NA, NA, 4, NA, NA, 8, NA, NA, NA, NA, 8, 8,…
## $ PP05B2_MES <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP05B2_ANO <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP05B2_DIA <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP05C_1 <labelled> NA, 0, NA, NA, NA, 1, NA, NA, 1, NA, NA, NA, NA, 1, 1,…
## $ PP05C_2 <labelled> NA, 0, NA, NA, NA, 3, NA, NA, 3, NA, NA, NA, NA, 3, 3,…
## $ PP05C_3 <labelled> NA, 0, NA, NA, NA, 1, NA, NA, 1, NA, NA, NA, NA, 3, 3,…
## $ PP05E <labelled> NA, 0, NA, NA, NA, 1, NA, NA, 1, NA, NA, NA, NA, 1, 1,…
## $ PP05F <labelled> NA, 0, NA, NA, NA, 7, NA, NA, 7, NA, NA, NA, NA, 7, 7,…
## $ PP05H <labelled> NA, 0, NA, NA, NA, 6, NA, NA, 4, NA, NA, NA, NA, 5, 6,…
## $ PP06A <labelled> NA, 0, NA, NA, NA, 2, NA, NA, 2, NA, NA, NA, NA, 1, 1,…
## $ PP06C <labelled> NA, 0, NA, NA, NA, 200000, NA, NA, 200000, NA, NA, NA,…
## $ PP06D <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 30000…
## $ PP06E <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 3, 3,…
## $ PP06H <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 1, 1,…
## $ PP07A <labelled> NA, 6, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07C <labelled> NA, 9, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07D <labelled> NA, 9, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07E <labelled> NA, 4, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07F1 <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07F2 <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07F3 <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07F4 <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07F5 <labelled> NA, 5, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07G1 <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07G2 <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07G3 <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07G4 <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07G_59 <labelled> NA, 5, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07H <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07I <labelled> NA, 2, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07J <labelled> NA, 1, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP07K <labelled> NA, 4, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP08D1 <labelled> NA, -9, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0…
## $ PP08D4 <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP08F1 <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP08F2 <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP08J1 <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP08J2 <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP08J3 <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP09A <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP09A_ESP <labelled> "", "", "", "", "", "", "", "", "", "", "", "", "", ""…
## $ PP09B <labelled> NA, 1, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP09C <labelled> NA, 0, NA, NA, NA, 0, NA, NA, 0, NA, NA, NA, NA, 0, 0,…
## $ PP09C_ESP <labelled> "", "", "", "", "", "", "", "", "", "", "", "", "", ""…
## $ PP10A <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP10C <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP10D <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP10E <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11A <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11B_COD <labelled> "", "", "", "", "", "", "", "", "", "", "", "", "", ""…
## $ PP11B1 <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11B2_MES <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11B2_ANO <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11B2_DIA <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11C <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11C99 <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11D_COD <labelled> "", "", "", "", "", "", "", "", "", "", "", "", "", ""…
## $ PP11G_ANO <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11G_MES <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11G_DIA <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11L <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11L1 <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11M <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11N <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11O <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11P <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11Q <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11R <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11S <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ PP11T <labelled> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA…
## $ P21 <labelled> 0, -9, 0, 0, 0, 200000, 0, 0, 200000, 0, 0, 0, 0, 3000…
## $ DECOCUR <labelled> "0", "12", "0", "0", "0", "7", "0", "0", "7", "0", "0"…
## $ IDECOCUR <labelled> "0", "12", "0", "0", "0", "8", "0", "0", "8", "0", "0"…
## $ RDECOCUR <labelled> "0", "12", "0", "0", "0", "7", "0", "0", "7", "0", "0"…
## $ GDECOCUR <labelled> "", "", "", "", "", "", "", "", "", "", "", "", "", ""…
## $ PDECOCUR <labelled> "0", "12", "0", "0", "0", "8", "0", "0", "8", "0", "0"…
## $ ADECOCUR <labelled> "0", "12", "0", "0", "0", "8", "0", "0", "8", "0", "0"…
## $ PONDIIO <labelled> 341, 0, 339, 339, 143, 188, 143, 143, 138, 111, 111, 1…
## $ TOT_P12 <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15000, 0, 0, 0,…
## $ P47T <labelled> 0, -9, 0, 0, 0, 200000, 0, 0, 200000, 68000, 0, 0, 0, …
## $ DECINDR <labelled> "0", "12", "0", "0", "0", "7", "0", "0", "7", "2", "0"…
## $ IDECINDR <labelled> "0", "12", "0", "0", "0", "7", "0", "0", "7", "2", "0"…
## $ RDECINDR <labelled> "0", "12", "0", "0", "0", "7", "0", "0", "7", "2", "0"…
## $ GDECINDR <labelled> "", "", "", "", "", "", "", "", "", "", "", "", "", ""…
## $ PDECINDR <labelled> "0", "12", "0", "0", "0", "7", "0", "0", "7", "3", "0"…
## $ ADECINDR <labelled> "0", "12", "0", "0", "0", "7", "0", "0", "7", "2", "0"…
## $ PONDII <labelled> 341, 0, 339, 339, 143, 190, 143, 143, 141, 111, 111, 1…
## $ V2_M <labelled> 0, 100000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35000, 0, …
## $ V3_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V4_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V5_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 68000, 0, 0, 0, 0, 0, 0, 0,…
## $ V8_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V9_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V10_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V11_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V12_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V18_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V19_AM <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ V21_M <labelled> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, …
## $ T_VI <labelled> 0, 100000, 0, 0, 0, 0, 0, 0, 0, 68000, 0, 0, 0, 35000,…
## $ ITF <labelled> 120000, 0, 0, 0, 200000, 200000, 200000, 200000, 26800…
## $ DECIFR <labelled> "2", "12", "12", "12", "4", "4", "4", "4", "5", "5", "…
## $ IDECIFR <labelled> "2", "12", "12", "12", "4", "4", "4", "4", "6", "6", "…
## $ RDECIFR <labelled> "3", "12", "12", "12", "4", "4", "4", "4", "5", "5", "…
## $ GDECIFR <labelled> "", "", "", "", "", "", "", "", "", "", "", "", "", ""…
## $ PDECIFR <labelled> "2", "12", "12", "12", "4", "4", "4", "4", "6", "6", "…
## $ ADECIFR <labelled> "4", "12", "12", "12", "5", "5", "5", "5", "6", "6", "…
## $ IPCF <labelled> 24000, 0, 0, 0, 50000, 50000, 50000, 50000, 53600, 536…
## $ DECCFR <labelled> "1", "12", "12", "12", "2", "2", "2", "2", "2", "2", "…
## $ IDECCFR <labelled> "1", "12", "12", "12", "2", "2", "2", "2", "2", "2", "…
## $ RDECCFR <labelled> "1", "12", "12", "12", "2", "2", "2", "2", "2", "2", "…
## $ GDECCFR <labelled> "", "", "", "", "", "", "", "", "", "", "", "", "", ""…
## $ PDECCFR <labelled> "1", "12", "12", "12", "2", "2", "2", "2", "3", "3", "…
## $ ADECCFR <labelled> "1", "12", "12", "12", "2", "2", "2", "2", "2", "2", "…
## $ PONDIH <labelled> 418, 0, 0, 0, 168, 168, 168, 168, 115, 115, 115, 115, …
head(eph23_3)
## # A tibble: 6 × 177
## CODUSU ANO4 TRIMESTRE NRO_HOGAR COMPONENTE H15 REGION MAS_500 AGLOMERADO
## <labelle> <lab> <labelle> <labelle> <labelled> <lab> <labe> <label> <labelled>
## 1 TQRMNOPS… 2023 3 1 5 1 41 N 8
## 2 TQSMNORW… 2023 3 1 1 1 41 N 8
## 3 TQSMNORW… 2023 3 1 3 1 41 N 8
## 4 TQSMNORW… 2023 3 1 2 1 41 N 8
## 5 TQRMNOSQ… 2023 3 1 1 1 43 N 36
## 6 TQRMNOSQ… 2023 3 1 2 1 43 N 36
## # ℹ 168 more variables: PONDERA <labelled>, CH03 <labelled>, CH04 <labelled>,
## # CH05 <labelled>, CH06 <labelled>, CH07 <labelled>, CH08 <labelled>,
## # CH09 <labelled>, CH10 <labelled>, CH11 <labelled>, CH12 <labelled>,
## # CH13 <labelled>, CH14 <labelled>, CH15 <labelled>, CH15_COD <labelled>,
## # CH16 <labelled>, CH16_COD <labelled>, NIVEL_ED <labelled>,
## # ESTADO <labelled>, CAT_OCUP <labelled>, CAT_INAC <labelled>,
## # IMPUTA <labelled>, PP02C1 <labelled>, PP02C2 <labelled>, …
tail(eph23_3)
## # A tibble: 6 × 177
## CODUSU ANO4 TRIMESTRE NRO_HOGAR COMPONENTE H15 REGION MAS_500 AGLOMERADO
## <labelle> <lab> <labelle> <labelle> <labelled> <lab> <labe> <label> <labelled>
## 1 TQRMNOTT… 2023 3 1 1 1 42 N 26
## 2 TQRMNOTT… 2023 3 1 2 1 42 N 26
## 3 TQRMNOUT… 2023 3 1 1 1 42 N 26
## 4 TQRMNOUT… 2023 3 1 2 1 42 N 26
## 5 TQRMNOUT… 2023 3 1 3 1 42 N 26
## 6 TQRMNOPX… 2023 3 1 1 1 42 N 26
## # ℹ 168 more variables: PONDERA <labelled>, CH03 <labelled>, CH04 <labelled>,
## # CH05 <labelled>, CH06 <labelled>, CH07 <labelled>, CH08 <labelled>,
## # CH09 <labelled>, CH10 <labelled>, CH11 <labelled>, CH12 <labelled>,
## # CH13 <labelled>, CH14 <labelled>, CH15 <labelled>, CH15_COD <labelled>,
## # CH16 <labelled>, CH16_COD <labelled>, NIVEL_ED <labelled>,
## # ESTADO <labelled>, CAT_OCUP <labelled>, CAT_INAC <labelled>,
## # IMPUTA <labelled>, PP02C1 <labelled>, PP02C2 <labelled>, …
names(eph23_3)
## [1] "CODUSU" "ANO4" "TRIMESTRE" "NRO_HOGAR" "COMPONENTE"
## [6] "H15" "REGION" "MAS_500" "AGLOMERADO" "PONDERA"
## [11] "CH03" "CH04" "CH05" "CH06" "CH07"
## [16] "CH08" "CH09" "CH10" "CH11" "CH12"
## [21] "CH13" "CH14" "CH15" "CH15_COD" "CH16"
## [26] "CH16_COD" "NIVEL_ED" "ESTADO" "CAT_OCUP" "CAT_INAC"
## [31] "IMPUTA" "PP02C1" "PP02C2" "PP02C3" "PP02C4"
## [36] "PP02C5" "PP02C6" "PP02C7" "PP02C8" "PP02E"
## [41] "PP02H" "PP02I" "PP03C" "PP03D" "PP3E_TOT"
## [46] "PP3F_TOT" "PP03G" "PP03H" "PP03I" "PP03J"
## [51] "INTENSI" "PP04A" "PP04B_COD" "PP04B1" "PP04B2"
## [56] "PP04B3_MES" "PP04B3_ANO" "PP04B3_DIA" "PP04C" "PP04C99"
## [61] "PP04D_COD" "PP04G" "PP05B2_MES" "PP05B2_ANO" "PP05B2_DIA"
## [66] "PP05C_1" "PP05C_2" "PP05C_3" "PP05E" "PP05F"
## [71] "PP05H" "PP06A" "PP06C" "PP06D" "PP06E"
## [76] "PP06H" "PP07A" "PP07C" "PP07D" "PP07E"
## [81] "PP07F1" "PP07F2" "PP07F3" "PP07F4" "PP07F5"
## [86] "PP07G1" "PP07G2" "PP07G3" "PP07G4" "PP07G_59"
## [91] "PP07H" "PP07I" "PP07J" "PP07K" "PP08D1"
## [96] "PP08D4" "PP08F1" "PP08F2" "PP08J1" "PP08J2"
## [101] "PP08J3" "PP09A" "PP09A_ESP" "PP09B" "PP09C"
## [106] "PP09C_ESP" "PP10A" "PP10C" "PP10D" "PP10E"
## [111] "PP11A" "PP11B_COD" "PP11B1" "PP11B2_MES" "PP11B2_ANO"
## [116] "PP11B2_DIA" "PP11C" "PP11C99" "PP11D_COD" "PP11G_ANO"
## [121] "PP11G_MES" "PP11G_DIA" "PP11L" "PP11L1" "PP11M"
## [126] "PP11N" "PP11O" "PP11P" "PP11Q" "PP11R"
## [131] "PP11S" "PP11T" "P21" "DECOCUR" "IDECOCUR"
## [136] "RDECOCUR" "GDECOCUR" "PDECOCUR" "ADECOCUR" "PONDIIO"
## [141] "TOT_P12" "P47T" "DECINDR" "IDECINDR" "RDECINDR"
## [146] "GDECINDR" "PDECINDR" "ADECINDR" "PONDII" "V2_M"
## [151] "V3_M" "V4_M" "V5_M" "V8_M" "V9_M"
## [156] "V10_M" "V11_M" "V12_M" "V18_M" "V19_AM"
## [161] "V21_M" "T_VI" "ITF" "DECIFR" "IDECIFR"
## [166] "RDECIFR" "GDECIFR" "PDECIFR" "ADECIFR" "IPCF"
## [171] "DECCFR" "IDECCFR" "RDECCFR" "GDECCFR" "PDECCFR"
## [176] "ADECCFR" "PONDIH"
A partir de ahora vamos ir profundizando el conocimiento sobre las la EPH y el lenguaje R de forma practica.
Recuerden que es muy importante soportar la frustración y practicar
IMPORTANTE:Es necesario recordar que hay que ponderar. Sino estaremos trabajando sobre la muestra y nos sobre el universo.
¿Qué es PONDERAR? Ponderar es asignarle a cada unidad de muestreo su peso muestral, es decir, el valor que indica el número de unidades de la población que representa cada individuo o caso de la base de datos. El peso muestral es calculado por el/la muestrista en base a las características de la población, al tipo de diseño de la muestra y a las limitaciones que puedan surgir en la etapa de recolección de datos (situaciones de no respuesta total o parcial) que puedan afectar el diseño muestral original. Por ello, cuando se trabaja con datos secundarios el peso muestral ya se encuentra definido y sólo hay que activar la ponderación para el procesamiento de los mismos.
Para esto necesitamos instalar un nuevo paquete llamado DescTools. De paso instalamos el paquete gt para lograr tablas con mejor diseño.
install.packages("DescTools")
install.packages("gt")
install.packages("webshot2")
library(DescTools)
library(gt)
Ahora, pidamos la medidas resumen de la variable Edad o CH06. Siempre vamos a ponderar a partir de indicarle la variable que sirve para tal tarea, “PONDERA”.
La función summarise() se utiliza comúnmente en tidyverse para resumir datos. Permite calcular resúmenes de datos en grupos utilizando diferentes funciones de resumen, como sumas, promedios, medianas, mínimos, máximos, entre otros. El proceso tiene tres partes. Primero indicar con que data set estamos trabajando, en nuestro caso eph23_1. Luego hacer un pipe ( %>% ) y abrir la función summarise(). Tercero pedirle las medidas resumen que necesitamos con las funciones especificas. Esto último requiere primero crear el nombre de la variable (Media), poner el signo de = y luego la función que queremos hacer. En este ejemplo, usamos la función mean adentro de summarise para pedirle que haga la media (mean en inglés) de la variable CH06, omitiendo los valores vacíos (na.rm = TRUE). Luego la función Mean , del paquete DescTools, para pedirle el promedio de la variable CHO6 ponderada por PONDERA. Notar que primero es la variable sobre la que quiero trabajar y luego la variable a partir de al cual pondero separado por una “,”. Así sucesivamente con el resto: median() weighted_median()
print() La función print() en R se utiliza para mostrar en la consola el contenido de objetos, como vectores, matrices, dataframes, listas.
edad_promedio<-eph23_3 %>%
summarise(Media = Mean(CH06, PONDERA),
Mediana = Median(CH06, PONDERA),
DE_w =SD(CH06, PONDERA),
Moda = Mode(CH06),
Cuart25 = Quantile (CH06,PONDERA, probs = .25),
Cuart50 = Quantile (CH06,PONDERA, probs = .50),
Cuart75 = Quantile (CH06,PONDERA, probs = .75),
Cuart100 = Quantile(CH06,PONDERA, probs = 1))
edad_promedio <- gt(edad_promedio) %>%
tab_header( title =" Medidas resumen de edad",
subtitle = "Eph 3 tri. 2023")
gtsave(edad_promedio, "edad_promedio.png")
edad_promedio
| Medidas resumen de edad | |||||||
| Eph 3 tri. 2023 | |||||||
| Media | Mediana | DE_w | Moda | Cuart25 | Cuart50 | Cuart75 | Cuart100 |
|---|---|---|---|---|---|---|---|
| 34.96161 | 33 | 22.14355 | 22 | 16 | 33 | 51 | 108 |
El paquete eph cuanta con una función especifica para crear tablas y distribuciones. calculate_tabulates cuenta el número de ocurrencias de cada valor único en la columna CH06 del dataframe eph23_1 y crea una nueva columna llamada “Freq” que contiene estas frecuencias. Es necesario indicarle la variable con la que queremos trabajar (CH06) y luego la variable con la que ponderamos los resultados (PONDERA)
arrange() ordena la nueva columna en orden ascendente según los valores de la columna CH06.
Todo se asigna al objeto “distribución”.
distribucion<- eph23_3 %>%
calculate_tabulates( x= "CH06", weights = "PONDERA") %>%
arrange("CH06")
gt(distribucion)
| CH06 | Freq |
|---|---|
| -1 | 216288 |
| 1 | 284593 |
| 2 | 318638 |
| 3 | 358259 |
| 4 | 424048 |
| 5 | 422539 |
| 6 | 470098 |
| 7 | 483293 |
| 8 | 502593 |
| 9 | 595712 |
| 10 | 474573 |
| 11 | 515353 |
| 12 | 559914 |
| 13 | 596218 |
| 14 | 471184 |
| 15 | 436818 |
| 16 | 447640 |
| 17 | 419176 |
| 18 | 510518 |
| 19 | 476589 |
| 20 | 423494 |
| 21 | 436135 |
| 22 | 473087 |
| 23 | 468892 |
| 24 | 432666 |
| 25 | 464731 |
| 26 | 399393 |
| 27 | 413881 |
| 28 | 443232 |
| 29 | 401639 |
| 30 | 420813 |
| 31 | 427518 |
| 32 | 481308 |
| 33 | 393483 |
| 34 | 416408 |
| 35 | 405505 |
| 36 | 412476 |
| 37 | 383786 |
| 38 | 403563 |
| 39 | 406097 |
| 40 | 454055 |
| 41 | 333130 |
| 42 | 455281 |
| 43 | 437404 |
| 44 | 471963 |
| 45 | 463973 |
| 46 | 411575 |
| 47 | 410446 |
| 48 | 398802 |
| 49 | 373878 |
| 50 | 383605 |
| 51 | 308705 |
| 52 | 338222 |
| 53 | 298190 |
| 54 | 287220 |
| 55 | 287653 |
| 56 | 237663 |
| 57 | 262306 |
| 58 | 262465 |
| 59 | 244486 |
| 60 | 234187 |
| 61 | 278767 |
| 62 | 235982 |
| 63 | 279054 |
| 64 | 220028 |
| 65 | 226487 |
| 66 | 219486 |
| 67 | 232479 |
| 68 | 228384 |
| 69 | 204901 |
| 70 | 220045 |
| 71 | 207050 |
| 72 | 233733 |
| 73 | 182818 |
| 74 | 174642 |
| 75 | 181418 |
| 76 | 146073 |
| 77 | 116811 |
| 78 | 149797 |
| 79 | 111601 |
| 80 | 98346 |
| 81 | 86766 |
| 82 | 82345 |
| 83 | 90128 |
| 84 | 72934 |
| 85 | 50441 |
| 86 | 48270 |
| 87 | 36324 |
| 88 | 34229 |
| 89 | 38285 |
| 90 | 30888 |
| 91 | 27228 |
| 92 | 15708 |
| 93 | 17997 |
| 94 | 8428 |
| 95 | 6644 |
| 96 | 2132 |
| 97 | 3679 |
| 98 | 5890 |
| 99 | 8018 |
| 100 | 504 |
| 102 | 123 |
| 108 | 1596 |
La distribución anterior es poco útil, las categorías de la variable Edad son demasiadas y no se facilita su lectura. Entonces podemos construir tres grupos de edades:
0 a 13 años (empezar en -1, ya que así están codificados en EPH los menores de 1 año) 14 a 65 años Mayores a 65
Para esto vamos a usar dos funciones nuevas de tidiverse. mutate() se utiliza para crear nuevas columnas o modificar columnas existentes en un dataframe. case_when() se utiliza para asignar valores a la columna Grupo_Edad según las condiciones especificadas.
eph23_3 <- eph23_3 %>%
mutate(Grupo_Edad = case_when(
CH06 >= 0 & CH06 <= 13 ~ "0 a 13 años",
CH06 >= 14 & CH06 <= 65 ~ "14 a 65 años",
CH06 > 65 ~ "Mayores de 65",
TRUE ~ "Otro"
))
names(eph23_3)
## [1] "CODUSU" "ANO4" "TRIMESTRE" "NRO_HOGAR" "COMPONENTE"
## [6] "H15" "REGION" "MAS_500" "AGLOMERADO" "PONDERA"
## [11] "CH03" "CH04" "CH05" "CH06" "CH07"
## [16] "CH08" "CH09" "CH10" "CH11" "CH12"
## [21] "CH13" "CH14" "CH15" "CH15_COD" "CH16"
## [26] "CH16_COD" "NIVEL_ED" "ESTADO" "CAT_OCUP" "CAT_INAC"
## [31] "IMPUTA" "PP02C1" "PP02C2" "PP02C3" "PP02C4"
## [36] "PP02C5" "PP02C6" "PP02C7" "PP02C8" "PP02E"
## [41] "PP02H" "PP02I" "PP03C" "PP03D" "PP3E_TOT"
## [46] "PP3F_TOT" "PP03G" "PP03H" "PP03I" "PP03J"
## [51] "INTENSI" "PP04A" "PP04B_COD" "PP04B1" "PP04B2"
## [56] "PP04B3_MES" "PP04B3_ANO" "PP04B3_DIA" "PP04C" "PP04C99"
## [61] "PP04D_COD" "PP04G" "PP05B2_MES" "PP05B2_ANO" "PP05B2_DIA"
## [66] "PP05C_1" "PP05C_2" "PP05C_3" "PP05E" "PP05F"
## [71] "PP05H" "PP06A" "PP06C" "PP06D" "PP06E"
## [76] "PP06H" "PP07A" "PP07C" "PP07D" "PP07E"
## [81] "PP07F1" "PP07F2" "PP07F3" "PP07F4" "PP07F5"
## [86] "PP07G1" "PP07G2" "PP07G3" "PP07G4" "PP07G_59"
## [91] "PP07H" "PP07I" "PP07J" "PP07K" "PP08D1"
## [96] "PP08D4" "PP08F1" "PP08F2" "PP08J1" "PP08J2"
## [101] "PP08J3" "PP09A" "PP09A_ESP" "PP09B" "PP09C"
## [106] "PP09C_ESP" "PP10A" "PP10C" "PP10D" "PP10E"
## [111] "PP11A" "PP11B_COD" "PP11B1" "PP11B2_MES" "PP11B2_ANO"
## [116] "PP11B2_DIA" "PP11C" "PP11C99" "PP11D_COD" "PP11G_ANO"
## [121] "PP11G_MES" "PP11G_DIA" "PP11L" "PP11L1" "PP11M"
## [126] "PP11N" "PP11O" "PP11P" "PP11Q" "PP11R"
## [131] "PP11S" "PP11T" "P21" "DECOCUR" "IDECOCUR"
## [136] "RDECOCUR" "GDECOCUR" "PDECOCUR" "ADECOCUR" "PONDIIO"
## [141] "TOT_P12" "P47T" "DECINDR" "IDECINDR" "RDECINDR"
## [146] "GDECINDR" "PDECINDR" "ADECINDR" "PONDII" "V2_M"
## [151] "V3_M" "V4_M" "V5_M" "V8_M" "V9_M"
## [156] "V10_M" "V11_M" "V12_M" "V18_M" "V19_AM"
## [161] "V21_M" "T_VI" "ITF" "DECIFR" "IDECIFR"
## [166] "RDECIFR" "GDECIFR" "PDECIFR" "ADECIFR" "IPCF"
## [171] "DECCFR" "IDECCFR" "RDECCFR" "GDECCFR" "PDECCFR"
## [176] "ADECCFR" "PONDIH" "Grupo_Edad"
Armemos nuevamente la distribución pero con la variable que creamos. A su vez agreguemos porcentajes y totales con nuevas funciones: add.totals y add.percentaje
distribucion_gru<-eph23_3 %>%
calculate_tabulates( "Grupo_Edad", weights = "PONDERA", add.totals = "row", add.percentage = "col")
distribucion_gru<-gt(distribucion_gru) %>%
tab_header(title = "Grupos de edad",
subtitle = "Eph 3 tri. 2023")
gtsave(distribucion_gru, "distribucion_gru.png")
distribucion_gru
| Grupos de edad | |
| Eph 3 tri. 2023 | |
| Grupo_Edad | Freq |
|---|---|
| 0 a 13 años | 20.4 |
| 14 a 65 años | 67.4 |
| Mayores de 65 | 11.5 |
| Otro | 0.7 |
| Total | 100.0 |
distribucion_es<- eph23_3 %>%
calculate_tabulates(x= "ESTADO", weights = "PONDERA")
distribucion_es <- gt(distribucion_es) %>%
tab_header( title = " Condición de actividad",
subtitle = "Eph 3 tri 2023")
distribucion_es
| Condición de actividad | |
| Eph 3 tri 2023 | |
| ESTADO | Freq |
|---|---|
| Entrevista individual no realizada (no respuesta al cuestionario individual) | 68532 |
| Ocupado | 13396202 |
| Desocupado | 813661 |
| Inactivo | 11109363 |
| Menor de 10 anios. | 4076061 |
Recordemos los conceptos claves que vimos en clase. Quienes son parte de la PEA? Ocupados y desocupados. Filtremos la base para trabajar solo con estos dos grupos. La función filter() se utiliza para seleccionar filas de un dataframe que cumplan con ciertas condiciones específicas. Esencialmente, filter() actúa como un filtro para el dataframe, manteniendo solo las filas que cumplen con los criterios especificados.
Los criterios puede ser los siguientes
Condición Acción
==: igual%in%: incluye!=: distinto>: mayor que<: menor que>=: mayor o igual que<=: menor o igual queOperador Descripción
&: y - Cuando se cumplen ambas condiciones|: o - Cuando se cumple una u otra condiciónSi quisiéramos seleccionar a los ocupados y desocupados deberíamos filtrar la variable ESTADO en sus categorías 1 y 2. Luego hacer una distribución de frecuencias deberíamos hacer lo siguiente
distribucion_estfil <- eph23_3 %>%
filter(ESTADO == "1" | ESTADO == "2") %>%
calculate_tabulates(x = "ESTADO", weights = "PONDERA",add.totals = "row", add.percentage = "col")
distribucion_estfil <-gt(distribucion_estfil) %>%
tab_header(title = "Condición de actividad",
subtitle = "Eph 3 tri. 2023")
gtsave(distribucion_estfil, "distribucion_estfil.png")
distribucion_estfil
| Condición de actividad | |
| Eph 3 tri. 2023 | |
| ESTADO | Freq |
|---|---|
| Ocupado | 94.3 |
| Desocupado | 5.7 |
| Total | 100.0 |
Dejamos algunas preguntas con sus respectivas respuestas. La idea es que ustedes puedan llegar al mismo resultado a partir de desarrollar el código.
Dist_sexo <- eph23_3 %>%
calculate_tabulates("CH04", weights = "PONDERA",add.totals = "row", add.percentage = "col")
Dist_sexo <- gt(Dist_sexo) %>%
tab_header(title = "Sexo",
subtitle = "Eph 3 tri. 2023")
resumen_horas_trabajadas<- eph23_3 %>%
filter(ESTADO == "1") %>%
summarise(Promedio = Mean(PP3E_TOT, PONDERA),
Mediana = Median(PP3E_TOT, PONDERA ),
Desvio = SD(PP3E_TOT, PONDERA),
Cuartil1 = Quantile(PP3E_TOT, PONDERA, probs = 0.25),
Cuartil2 = Quantile(PP3E_TOT, PONDERA, probs = 0.50),
Cuartil3 = Quantile(PP3E_TOT, PONDERA, probs = 0.75))
resumen_horas_trabajadas <-gt(resumen_horas_trabajadas) %>%
tab_header(title = "Horas en promedio trabajadas en la ocupación principal",
subtitle = "Eph 3 tri. 2023")
Trabajo_familiar_M<- eph23_3 %>%
filter(CH04 == "1" & CAT_OCUP == "3") %>%
calculate_tabulates("CH04", weights = "PONDERA")
Trabajo_familiar_V<- eph23_3 %>%
filter(CH04 == "1" & CAT_OCUP == "3") %>%
calculate_tabulates("CH04", weights = "PONDERA")