Abrimos librerias necesarias para hacer el trabajo Final

library(tidyverse)
library(openxlsx)
library(eph)
library(scales)
library(ggplot2)
library(dplyr)
library(knitr)
library(ggthemes)
library(kableExtra) 

Importar base de datos

list.files("Fuentes/")
## [1] "~$Aglomerados y Regiones EPH.xlsx" "Aglomerados EPH.xlsx"             
## [3] "Aglomerados y Regiones EPH.xlsx"

Vamos a calcular algunas estadísticas básicas de la base EPH INDEC tercer trimestre de 2024- para ello esamos el siguiente código

Vamos a mostrar los resultados

kable(Tasas, format = "markdown")
Tasa Actividad Tasa Empleo Tasa Desocupacion Tasa ocupados demandantes Tasa Subocupación Tasa Subocupación demandante Tasa Subocupación no demandante
0.4832538 0.4497973 0.0692319 0.1761851 0.1136236 0.0809374 0.0326862

Vamos a calcular las tasas por Aglomerado

base1 <- base %>%
  mutate(AGLOMERADO = recode(AGLOMERADO,
                             "2" = "Gran la Plata",
                             "3" = "Bahía Blanca –Cerri",
                             "4"= "Gran Rosario",
                             "5"= "Gran Santa Fé", 
                             "6" = "Gran Paraná",
                             "7" = "Posadas",
                             "8" = "Gran Resistencia",
                             "9" = "Cdro. Rivadavia - R.Tilly",
                             "10" = "Gran Mendoza",
                             "12" = "Corrientes",
                             "13" = "Gran Córdoba",
                             "14" = "Concordia",
                             "15" = "Formosa", 
                             "17" = "Neuquén – Plottier", 
                             "18" = "S.del Estero - La Banda",
                             "19" = "Jujuy - Palpalá",
                             "20" = "Río Gallegos", 
                             "22" = "Gran Catamarca",
                             "23" = "Salta", 
                             "25" = "La Rioja",
                             "26" = "San Luis - El Chorrillo",
                             "27" = "Gran San Juan",
                             "29" = "Gran Tucumán - T. Viejo",
                             "30" = "Santa Rosa - Toay" ,
                             "31" = "Ushuaia - Río Grande",
                             "32" = "Ciudad de Bs As", 
                             "33" = "Partidos del GBA",
                             "34" = "Mar del Plata - Batán",
                             "36" = "Río Cuarto", 
                             "38" = "San Nicolás – Villa Constitución", 
                             "91" = "Rawson – Trelew", 
                             "93"="Viedma – Carmen de Patagones"))
base1 <- base1 %>%
  mutate(REGION = recode(REGION,
                        "1"= "GBA", "43"="Pampeana",
                        "40"="Noroeste", "41"="Noreste", 
                        "42"="Cuyo", "44"="Patagonia"))
base1 <- base1 %>% 
  rename(SEXO= CH04)
# Tasas Básicas por Aglomerados
tasas_aglomerados <- base1 %>% 
  group_by(AGLOMERADO) %>% 
  summarise(Poblacion         = sum(PONDERA),
            Ocupados          = sum(PONDERA[ESTADO == 1]),
            Desocupados       = sum(PONDERA[ESTADO == 2]),
            PEA               = Ocupados + Desocupados,
            Ocupados_demand   = sum(PONDERA[ESTADO == 1 & PP03J == 1]),
            Suboc_demandante  = sum(PONDERA[ESTADO == 1 & INTENSI == 1 & PP03J == 1]),
            Suboc_no_demand   = sum(PONDERA[ESTADO == 1 & INTENSI == 1 & PP03J %in% c(2, 9)]),
            Subocupados       = Suboc_demandante + Suboc_no_demand,
            'Tasa Actividad'                  = PEA/Poblacion,
            'Tasa Empleo'                     = Ocupados/Poblacion,
            'Tasa Desocupacion'               = Desocupados/PEA,
            'Tasa ocupados demandantes'       = Ocupados_demand/PEA,
            'Tasa Subocupación'               = Subocupados/PEA,
            'Tasa Subocupación demandante'    = Suboc_demandante/PEA,
            'Tasa Subocupación no demandante' = Suboc_no_demand/PEA)%>% 
  ungroup() %>%  #Desagrupo el data.frame para poder seguir operando tranquilo sobre el mismo
  select(-(2:9)) # Elimino los niveles poblacionales (ahora tengo como 1er variable el aglomerado)
kable(tasas_aglomerados, format = "markdown")
AGLOMERADO Tasa Actividad Tasa Empleo Tasa Desocupacion Tasa ocupados demandantes Tasa Subocupación Tasa Subocupación demandante Tasa Subocupación no demandante
Bahía Blanca –Cerri 0.4856079 0.4544937 0.0640727 0.1455824 0.0526572 0.0457580 0.0068992
Cdro. Rivadavia - R.Tilly 0.3950409 0.3842664 0.0272744 0.0541120 0.0286142 0.0225797 0.0060345
Ciudad de Bs As 0.5488409 0.5244966 0.0443560 0.1329836 0.0576247 0.0253185 0.0323063
Concordia 0.4216839 0.4009540 0.0491599 0.0856176 0.1067926 0.0720696 0.0347230
Corrientes 0.4421836 0.4256453 0.0374014 0.1698238 0.1011257 0.0769608 0.0241649
Formosa 0.4032033 0.3939653 0.0229117 0.0614681 0.0460869 0.0383587 0.0077282
Gran Catamarca 0.4122511 0.4027720 0.0229934 0.2450200 0.1329909 0.1216557 0.0113352
Gran Córdoba 0.5014027 0.4575300 0.0875000 0.2766530 0.1224328 0.1072705 0.0151624
Gran Mendoza 0.4846981 0.4604967 0.0499310 0.1937377 0.1436956 0.1196049 0.0240907
Gran Paraná 0.4574210 0.4344322 0.0502573 0.1935806 0.1549346 0.1291274 0.0258072
Gran Resistencia 0.4517661 0.4025477 0.1089466 0.0726675 0.0597691 0.0459021 0.0138670
Gran Rosario 0.5062916 0.4771304 0.0575977 0.1377772 0.1304628 0.0919035 0.0385594
Gran San Juan 0.4582867 0.4354714 0.0497839 0.2215869 0.1728955 0.1131769 0.0597186
Gran Santa Fé 0.4497546 0.4197027 0.0668186 0.1136594 0.1577050 0.1039992 0.0537058
Gran Tucumán - T. Viejo 0.4729543 0.4467945 0.0553113 0.2550300 0.1750995 0.1192667 0.0558328
Gran la Plata 0.5011660 0.4527101 0.0966863 0.1742077 0.1153733 0.0839453 0.0314280
Jujuy - Palpalá 0.4655206 0.4464979 0.0408633 0.2191781 0.1048718 0.0633823 0.0414895
La Rioja 0.4544234 0.4395584 0.0327120 0.1708602 0.1496745 0.1350646 0.0146099
Mar del Plata - Batán 0.5034631 0.4612351 0.0838751 0.1481699 0.1217783 0.0841319 0.0376464
Neuquén – Plottier 0.4680449 0.4407935 0.0582238 0.1287439 0.0844285 0.0691986 0.0152299
Partidos del GBA 0.4804516 0.4400743 0.0840403 0.1911334 0.1227361 0.0876411 0.0350950
Posadas 0.4589242 0.4431698 0.0343290 0.1186038 0.1276666 0.1047135 0.0229531
Rawson – Trelew 0.4298731 0.4086085 0.0494670 0.1030691 0.1017520 0.0713979 0.0303541
Río Cuarto 0.4766173 0.4491514 0.0576268 0.1110016 0.0479651 0.0265556 0.0214095
Río Gallegos 0.4615431 0.4285964 0.0713839 0.0982249 0.0588197 0.0376597 0.0211599
S.del Estero - La Banda 0.4258101 0.4217989 0.0094202 0.1279396 0.0941518 0.0720266 0.0221252
Salta 0.4586477 0.4346005 0.0524307 0.1947824 0.1320088 0.0746535 0.0573553
San Luis - El Chorrillo 0.4508236 0.4323457 0.0409869 0.1030392 0.0812824 0.0719023 0.0093801
San Nicolás – Villa Constitución 0.4220047 0.3917884 0.0716019 0.0450664 0.0537728 0.0243470 0.0294258
Santa Rosa - Toay 0.4698361 0.4371315 0.0696085 0.1598042 0.1169769 0.0887516 0.0282253
Ushuaia - Río Grande 0.5093551 0.4678619 0.0814623 0.1260159 0.0546117 0.0311612 0.0234504
Viedma – Carmen de Patagones 0.4044166 0.3995235 0.0120991 0.0509254 0.0235659 0.0184217 0.0051443

Vemos ahora las Tasas por Regiones

# Tasas Básicas por Regiones
tasas_regiones <- base1 %>% 
  group_by(REGION) %>% 
  summarise(Poblacion         = sum(PONDERA),
            Ocupados          = sum(PONDERA[ESTADO == 1]),
            Desocupados       = sum(PONDERA[ESTADO == 2]),
            PEA               = Ocupados + Desocupados,
            Ocupados_demand   = sum(PONDERA[ESTADO == 1 & PP03J == 1]),
            Suboc_demandante  = sum(PONDERA[ESTADO == 1 & INTENSI == 1 & PP03J == 1]),
            Suboc_no_demand   = sum(PONDERA[ESTADO == 1 & INTENSI == 1 & PP03J %in% c(2, 9)]),
            Subocupados       = Suboc_demandante + Suboc_no_demand,
            'Tasa Actividad'                  = PEA/Poblacion,
            'Tasa Empleo'                     = Ocupados/Poblacion,
            'Tasa Desocupacion'               = Desocupados/PEA,
            'Tasa ocupados demandantes'       = Ocupados_demand/PEA,
            'Tasa Subocupación'               = Subocupados/PEA,
            'Tasa Subocupación demandante'    = Suboc_demandante/PEA,
            'Tasa Subocupación no demandante' = Suboc_no_demand/PEA)%>% 
  ungroup() %>%  #Desagrupo el data.frame para poder seguir operando tranquilo sobre el mismo
  select(-(2:9)) # Elimino los niveles poblacionales (ahora tengo como 1er variable el aglomerado)
kable(tasas_regiones, format = "markdown")
REGION Tasa Actividad Tasa Empleo Tasa Desocupacion Tasa ocupados demandantes Tasa Subocupación Tasa Subocupación demandante Tasa Subocupación no demandante
Cuyo 0.4722786 0.4492588 0.0487420 0.1901652 0.1441394 0.1116315 0.0325079
GBA 0.4932786 0.4559085 0.0757587 0.1789983 0.1091483 0.0746352 0.0345131
Noreste 0.4424091 0.4179397 0.0553096 0.1093588 0.0872315 0.0691239 0.0181076
Noroeste 0.4551977 0.4360047 0.0421639 0.2108932 0.1394132 0.0964550 0.0429582
Pampeana 0.4895036 0.4527400 0.0751040 0.1768298 0.1193649 0.0899008 0.0294641
Patagonia 0.4473215 0.4233862 0.0535081 0.1009597 0.0628377 0.0459817 0.0168561

Vemos ahora las Tasas por Sexo

# Tasas Básicas por Aglomerados por sexo total eph 
base1 <- base1 %>% mutate(SEXO = recode(SEXO,
                             "1" = "Varón",
                             "2" = "Mujer"))
tasas_sexo <- base1 %>% 
  group_by(SEXO) %>% 
  summarise(Poblacion         = sum(PONDERA),
            Ocupados          = sum(PONDERA[ESTADO == 1]),
            Desocupados       = sum(PONDERA[ESTADO == 2]),
            PEA               = Ocupados + Desocupados,
            Ocupados_demand   = sum(PONDERA[ESTADO == 1 & PP03J == 1]),
            Suboc_demandante  = sum(PONDERA[ESTADO == 1 & INTENSI == 1 & PP03J == 1]),
            Suboc_no_demand   = sum(PONDERA[ESTADO == 1 & INTENSI == 1 & PP03J %in% c(2, 9)]),
            Subocupados       = Suboc_demandante + Suboc_no_demand,
            'Tasa Actividad'                  = PEA/Poblacion,
            'Tasa Empleo'                     = Ocupados/Poblacion,
            'Tasa Desocupacion'               = Desocupados/PEA,
            'Tasa ocupados demandantes'       = Ocupados_demand/PEA,
            'Tasa Subocupación'               = Subocupados/PEA,
            'Tasa Subocupación demandante'    = Suboc_demandante/PEA,
            'Tasa Subocupación no demandante' = Suboc_no_demand/PEA)%>% 
  ungroup() %>%  #Desagrupo el data.frame para poder seguir operando tranquilo sobre el mismo
  select(-(2:9)) # Elimino los niveles poblacionales (ahora tengo como 1er variable el aglomerado)
kable(tasas_sexo, format = "markdown")
SEXO Tasa Actividad Tasa Empleo Tasa Desocupacion Tasa ocupados demandantes Tasa Subocupación Tasa Subocupación demandante Tasa Subocupación no demandante
Mujer 0.4193232 0.3862686 0.0788285 0.1777547 0.1383664 0.0973355 0.0410309
Varón 0.5506149 0.5167348 0.0615314 0.1749256 0.0937694 0.0677792 0.0259902

Ahora vamos a definir grupos de edades para poder ver el grado de edades

base1 <- base1 %>% 
  rename(EDAD= CH06)
base1 <- base1 %>% mutate(Grupos_Etarios = case_when("EDAD"  < 18   ~ "Menores",
                                 "EDAD"  %in%  18:65   ~ "Adultos",
                                 "EDAD"  > 65 ~ "Adultos Mayores"))
base1 %>% 
  select(AGLOMERADO,SEXO,EDAD,Grupos_Etarios,REGION)

Vamos a construir tipo de precariedad en base a algunos indicadores, el primero será la faltad e aporte patronal para eso procesamos el siguiente código

base_asal <- base1 %>% 
  filter(ESTADO == 1, CAT_OCUP == 3, P21>0) %>% 
  mutate(PONDIIO = as.numeric(PONDIIO),
         condicion = ifelse(PP07H == 1,"Registrados","No Registrados"))
salarios_s_reg<- base_asal %>% 
  group_by(condicion) %>% 
  summarise(ing_prom = weighted.mean(P21,PONDIIO,na.rm = T))

Graficar

ggplot(salarios_s_reg,aes(x = condicion, y = ing_prom,fill = condicion))+
  geom_col()+
  theme(legend.position = "none")+
  labs(y = "Ingreso Promedio en $")

Graficar Asalariados Con o sin descuento jubilatorio por Edades

ggplot(base_asal,aes(x = condicion, y = EDAD,fill = condicion))+
  geom_boxplot()+
  theme(legend.position = "none")+
  labs(y = "Edades")

Ahora vamos a crear una variable para ver nivel educatico

base_asal_preca <- base1 %>%
  filter(ESTADO == 1, CAT_OCUP == 3) %>% # Ocupados asalariados
  mutate(
    nivel.ed = factor(
      case_when(NIVEL_ED %in% c(7,1,2,3) ~ "Menor a Secundaria",
                NIVEL_ED %in% c(4,5) ~ "Secundaria Completa",
                NIVEL_ED == 6 ~ "Superior Completo",
                TRUE ~ "Ns/Nr"),
      levels = c("Menor a Secundaria","Secundaria Completa","Superior Completo")),
    tamanio.establec = factor(
      case_when(PP04C %in% 1:6  ~ "Pequeño",
                PP04C %in% 7:8  ~ "Mediano",
                PP04C %in% 9:12 ~ "Grande",
                PP04C %in% 99   ~ "Ns/Nr"),
      levels = c("Pequeño","Mediano","Grande","Ns/Nr")),
    descuento_jubil = case_when(PP07H == 1 ~ "Si",
                                PP07H == 2 ~ "No"),
    part.time.inv = case_when(PP3E_TOT < 35 & PP03G == 1 ~ "Si",
                             TRUE ~ "No"),
    tiempo.determinado = case_when(PP07C ==  1 ~ "Si",
                                   TRUE ~ "No"))

La función calculate_tabulates nos parmite rápidamente obtener tabulados univariados y bivariados de nuestras categorías de interés. Criterio descuento jubilatorio

calculate_tabulates(base = base_asal_preca,
                         x = "descuento_jubil",
                         weights = "PONDERA")

Criterio Nivel Educativo

calculate_tabulates(base = base_asal_preca,
                         x = "descuento_jubil",
                         y = "nivel.ed",
                         add.totals = "both",
                         weights = "PONDERA")

En porcentajes

calculate_tabulates(base = base_asal_preca,
                         x = "descuento_jubil",
                         y = "nivel.ed",
                         add.percentage = "col", 
                         weights = "PONDERA")

Tercer criterio tamaño establecimiento

calculate_tabulates(base = base_asal_preca,
                         x = "descuento_jubil",
                         y = "tamanio.establec",
                         add.percentage = "col", 
                         weights = "PONDERA")

Cuarto factor trabajo tiempo parcial

calculate_tabulates(base = base_asal_preca,
                         x = "descuento_jubil",
                         y = "part.time.inv",
                         add.percentage = "col", 
                         weights = "PONDERA")

En base a eso definimos la precariedad en tres factores, que no posea descuento jubilatorio o que trabaje part time o trabajo por tiempo determinado.

precarizados <- base_asal_preca %>% 
  mutate(signos.precariedad = ifelse(descuento_jubil == "No",yes = 1,no = 0)+
                              ifelse(part.time.inv == "Si",yes = 1,no = 0)+
                              ifelse(tiempo.determinado == "Si",yes = 1,no = 0))
precarizados1 <- precarizados %>%   
  mutate(Grado.prec = factor(  
    case_when(  
      signos.precariedad == 0 ~ "Sin precarizar",  
      signos.precariedad == 1 ~ "Leve",  
      signos.precariedad == 2 ~ "Moderado",  
      signos.precariedad == 3 ~ "Severo",  
      TRUE ~ NA_character_  # Para manejar cualquier otro caso que no sea 0, 1, 2 o 3  
    )  
  ))  
precarizados1 %>%  
    group_by(Grado.prec) %>% 
  summarise(Poblacion = sum(PONDERA))
calculate_tabulates(base = precarizados1,
                         x = "SEXO",
                         y = "Grado.prec",                         add.percentage = "col",                          weights = "PONDERA")
calculate_tabulates(base = precarizados1,
                         x = "REGION",
                         y = "Grado.prec",                         add.percentage = "col",                          weights = "PONDERA")
calculate_tabulates(base = precarizados1,
                         y = "Grado.prec",
                         x = "nivel.ed",                         add.percentage = "col",                          weights = "PONDERA")

``` Bueno podría realizarse alguna grafica