Introducción a R

1. Objetivos

  1. Realizar un primer acercamiento a R y comprender sus principales características.
  2. Analizar la variable edad y prepararla para su análisis.
  3. Obtener distribuciones de frecuencia de variables relevantes.
  4. Aprender a seleccionar y filtrar registros.

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).

2. Instalación

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:

  1. Ve al sitio R- Project
  2. Hacer clik en dowload R
  3. Selecciona el mirror para Argentina

Para Windows:

  1. Haz clic en Download R for Windows
  2. Selecciona el enlace “base”.
  3. Haz Click en Dowload R-4.4.0 for Windows
  4. Una vez descargado el archivo ejecutable (.exe), ábrelo.
  5. Sigue las instrucciones del instalador. La configuración predeterminada suele ser adecuada para la mayoría de los usuarios, así que puedes dejar las opciones como están.
  6. Después de completar la instalación, puedes abrir R desde el menú de inicio o haciendo doble clic en el icono del escritorio.

Para macOS:

  1. Haz clic en Download R for MacOS.
  2. Selecciona el enlace para descargar R. Generalmente, se recomienda la versión más reciente.
  3. Una vez descargado el archivo .pkg, ábrelo.
  4. Sigue las instrucciones del instalador. La configuración predeterminada suele ser adecuada para la mayoría de los usuarios, así que puedes dejar las opciones como están.
  5. Después de completar la instalación, puedes abrir R desde Launchpad o Spotlight buscando “R”.

Instrucciones para instalar R Studio

1.Visita el sitio RStudio 2.Selecciona el enlace correspondiente a tu sistema operativo Windows o macOS.

3 Conociendo R

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

3.1 El entorno de R

Entorno de R
Entorno de R

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.

3.2 Paquetes

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")

4 Primeros pasos

En los próximos minutos vamos a trabajar sobre los conceptos básicos que necesitamos saber sobre R.

4.1 Crear objetos

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

4.2 Usemos la EPH

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)

4.3 Hagamos un Pipe para traer las etiquetas

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")

4.4 exploremos el data set.

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"

5 Ejercicios con EPH y R

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

5.2 Obtener los principales indicadores de la variable edad (CH06)

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

5.3 Obtener una distribución de frecuencias de la variable edad (CH06)

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

5.4 Vamos a armar grupos significativos de la variable (CH06).

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

5.4 Obtener una distribución de la variable condición de actividad (estado). ¿Qué puede decir de esta distribución?**

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

5.6 Filtrar la base para solo traer las personas que son parte del mercado laboral**

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

  1. ==: igual
  2. %in%: incluye
  3. !=: distinto
  4. >: mayor que
  5. <: menor que
  6. >=: mayor o igual que
  7. <=: menor o igual que

Operador Descripción

  1. &: y - Cuando se cumplen ambas condiciones
  2. |: o - Cuando se cumple una u otra condición

Si 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

6 Mas ejercicios para practicar

Dejamos algunas preguntas con sus respectivas respuestas. La idea es que ustedes puedan llegar al mismo resultado a partir de desarrollar el código.

  1. Como se distribuyen mujeres y hombres (CH04). R = Varón 48.7% y mujer 51.3%
  2. Cuantas horas en promedio trabajaron en la ocupación principal (PP3E_TOT) las personas que tenían empleo en el trimestre analizado. Cual es la mediana de horas trabajadas? El Desvió estándar? los cuartiles? R= Media 40.2, Mediana 40, Desvió Estándar 66.95, Cuartil1 24, Cuartil3 48.
  3. Cuantas mujeres son trabajadoras familiares sin remuneración (CH04 == “2” & CAT_OCUP == “3”) ? y hombres CH04 == “1” & CAT_OCUP == “3”? R= Mujeres 4.805.193 y Varón 5.663.039
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")