Abstract
El presente trabajo forma parte del proyecto final del curso de Manejo de datos con R y representa un analisis sobre la situacion del Desempleo en America LatinaSegun Economipedia el desempleo se define como “La falta de empleo. Se trata de un desajuste en el mercado laboral, donde la oferta de trabajo (por parte de los trabajadores) es superior a la demanda de trabajo (por parte de las empresas).”
enlace en línea
El inidador mas utilizado para reflejar la situacion de desempleo de los paises es la tasa de desempleo que segun La Comisión Económica para América Latina y el Caribe esta “Expresa el nivel de desocupación entre la población económicamente activa”.
Su calculo viene dado por Población de 15 años y más que no está trabajando y busca trabajo dividido por la población económicamente activa de 15 años y más (ocupados más desocupados).
\[ Tasa Desempleo= (N°Desempleados/PEA)*100\]
En el presente trabajo se emplearan datos desde la CEPAL donde se muestran las tasas de desempleo masculino, femenino y global en series de tiempo que van desde 1980 al 2013.
Se trata de una base de datos compuesta por ocho variables y 1721 observaciones.
#Importamos los datos desde excel y revisamos la estructura de la base de datos.
dat_desempleo <- read_excel("datos/data_1654202138.xlsx",
sheet = "datos")
str(dat_desempleo)
## tibble [1,721 × 8] (S3: tbl_df/tbl/data.frame)
## $ indicator : chr [1:1721] "Tasa de desocupación según sexo" "Tasa de desocupación según sexo" "Tasa de desocupación según sexo" "Tasa de desocupación según sexo" ...
## $ País__ESTANDAR: chr [1:1721] "Argentina" "Argentina" "Argentina" "Argentina" ...
## $ Sexo : chr [1:1721] "Ambos sexos" "Ambos sexos" "Ambos sexos" "Ambos sexos" ...
## $ Años__ESTANDAR: chr [1:1721] "1980" "1981" "1982" "1983" ...
## $ value : num [1:1721] 2.6 4.6 5.3 4.6 4.6 6.1 5.6 5.9 6.3 7.7 ...
## $ unit : chr [1:1721] "Tasa anual media" "Tasa anual media" "Tasa anual media" "Tasa anual media" ...
## $ notes_ids : chr [1:1721] "152" "152" "152" "152" ...
## $ source_id : num [1:1721] 36 36 36 36 36 36 36 36 36 36 ...
La base da datos ademas de ofrecer valores de la tasa de desempleo para cada pais tiene tambien valores agegados para todos los paises de America Latina y el Caribe, mismos que ofrecen una vision general de este indicador.
#Se filtra por observacones (Tasa de desempleo de America Latina y el Caribe). Ademas, se cambia de tipo de dato a la variable Años_ESTANDAR para que el grafico se realize sin errores.
td_global<-filter(dat_desempleo, dat_desempleo$País__ESTANDAR =="América Latina y el Caribe")
td_global$Años__ESTANDAR <- as.numeric(as.character(td_global$Años__ESTANDAR))
El siguiente grafico representa de forma general la inforamcion que nos ofrece la base de datos.Se evidencia el comportamiento acendente de la tasa de desempleo a lo largo de los años, se observa un pico en el año 2009 y un aumento considerable desde el año 2019. Adicional, se observa que la tasa de desempleo no se desagregaba por sexo sino hasta el año 2008.
grafico1<- ggplot(td_global, aes(x= Años__ESTANDAR, y= value, color=Sexo))+
geom_line(size=1)+
labs(title= "Tasa de desempleo en America Latina y el Caribe", y= "Tasa de desempleo", x= "Años")+
theme_economist()
ggplotly(grafico1)
La problametica del desempleo es de tipo tranversal ya que tiene influencia no solo en el ambito economico, si no tambien el lo social, politico y demografico. La falta de empleo repercute directamente sobre el ingreso del hogar, provocando de esta forma que la capacidad adquisitiva de las familia se vea reducida. En casos mucho mas extremos la falta de ingresos ocaciona que las necesidades basicas sean insatisfechas, como consecuencia los hogares mas afectados recaen en condiciones de pobreza (Vallejo, 2010).
De la misma fuente de datos se importa informacion sobre la poblacion en sitiacion de pobreza en los paises de latioamerica.
enlace en línea
Este indicador representa el “Porcentaje del total de la población cuyo ingreso per cápita medio está por debajo de la línea de pobreza.”
La base de datos esta compuesta por 11 variables y 843 observaciones.
#Importamos la base de datos y revisamos la estructura de la misma.
dat_pobreza <- read_excel("datos/data_1654574693.xlsx",
sheet = "datos")
str(dat_pobreza)
## tibble [843 × 11] (S3: tbl_df/tbl/data.frame)
## $ indicator : chr [1:843] "Población en situación de pobreza extrema y pobreza según edad, sexo y área geográfica" "Población en situación de pobreza extrema y pobreza según edad, sexo y área geográfica" "Población en situación de pobreza extrema y pobreza según edad, sexo y área geográfica" "Población en situación de pobreza extrema y pobreza según edad, sexo y área geográfica" ...
## $ Área geográfica : chr [1:843] "Nacional" "Nacional" "Nacional" "Nacional" ...
## $ País__ESTANDAR : chr [1:843] "América Latina" "América Latina" "América Latina" "América Latina" ...
## $ Años__ESTANDAR : chr [1:843] "2001" "2001" "2001" "2002" ...
## $ Sexo : chr [1:843] "Ambos sexos" "Hombres" "Mujeres" "Ambos sexos" ...
## $ Grupo de edad de la población: chr [1:843] "Población total" "Población total" "Población total" "Población total" ...
## $ Pobreza extrema y pobreza : chr [1:843] "Pobreza" "Pobreza" "Pobreza" "Pobreza" ...
## $ value : num [1:843] 44.1 44 44.2 45.3 45.2 45.4 45.6 45.5 45.7 42.6 ...
## $ unit : chr [1:843] "Porcentaje del total de la población en cada grupo de edad y área geográfica" "Porcentaje del total de la población en cada grupo de edad y área geográfica" "Porcentaje del total de la población en cada grupo de edad y área geográfica" "Porcentaje del total de la población en cada grupo de edad y área geográfica" ...
## $ notes_ids : chr [1:843] NA NA NA NA ...
## $ source_id : num [1:843] 26 26 26 26 26 26 26 26 26 26 ...
Una vez que se ha explorado la estructura de la base se datos de desempleo y la de pobreza en America Latina procedemos a realizar un analisis conjunto de esta informacion.
Dado que las bases de datos no cuentan con un identificador que permita realizar la union entre tablas, se procede a crear una variable en cada base con nombre “code” a partir de la union de caracteres de las variables “País_ESTANDAR”, “Sexo” y “Años_ESTANDAR” esto con el fin de obtener una variable con observaciones que no se repitan.
En el enlace que se muestra abajo se detalla como extrarer caracteres.
#Se crean variables auxiliares a partir de los primero tres caracteres, el primer caracter y los dos ultimos caracteres de las variables "País_ESTANDAR", "Sexo" y "Años_ESTANDAR" respectivamente.
dat_desempleo$varaux1 <- substring(dat_desempleo$País__ESTANDAR,1,3)
dat_desempleo$varaux2 <- substring(dat_desempleo$Sexo,1,1)
dat_desempleo$varaux3 <- substring(dat_desempleo$Años__ESTANDAR,3)
#Se crea una variable union de las tres variables auxiliares en dat_desempleo.
dat_desempleo$code <- paste(dat_desempleo$varaux1, dat_desempleo$varaux2, dat_desempleo$varaux3, sep = "")
Se realiza el mismo procedimiento con la base que contiende los datos sobre pobreza.
#Se crean variables auxiliares a partir de los primero tres caracteres, el primer caracter y los dos ultimos caracteres de las variables "País_ESTANDAR", "Sexo" y "Años_ESTANDAR" respectivamente.
dat_pobreza$varaux1 <- substring(dat_pobreza$País__ESTANDAR,1,3)
dat_pobreza$varaux2 <- substring(dat_pobreza$Sexo,1,1)
dat_pobreza$varaux3 <- substring(dat_pobreza$Años__ESTANDAR,3)
#Se crea una variable union de las tres variables auxiliares en dat_pobreza.
dat_pobreza$code <- paste(dat_pobreza$varaux1, dat_pobreza$varaux2, dat_pobreza$varaux3, sep = "")
Una vez creado un identificador comuen entre bases se procede a la unión.
#Union de bases, al usar inner_join estamos conservando las observaciones que coinciden en ambos grupos de datos por lo que existira cierta perdida de informacion,
des_pob<-dat_desempleo %>% inner_join(dat_pobreza, by=c("code"))
des_pob<-des_pob %>% rename(codigo=code)
des_pob<-des_pob %>% select(codigo, País__ESTANDAR.x, Años__ESTANDAR.x, Sexo.x, value.x, value.y)
• Las columnas cuyos nombres contengan c reemplace por C.
des_pob <- des_pob %>%
rename_with(~gsub("c", "C", .x))
• Las columnas cuyos nombres contengan .x quitar esta expresion de la variable.
des_pob <- des_pob %>%
rename_with(~gsub(".x", "", .x))
• Las columnas cuyos nombres contengan ESTANDAR reemplace por est.
des_pob <- des_pob %>%
rename_with(~gsub("ESTANDAR", "est", .x))
• Las columnas cuyos nombres contengan __ reemplace por “.”.
des_pob <- des_pob %>%
rename_with(~gsub("__", ".", .x))
• Las columnas cuyos nombres contengan So reemplace por Sexo.
des_pob <- des_pob %>%
rename_with(~gsub("So", "Sexo", .x))
• Las columnas cuyos nombres contengan value reemplace por v.
des_pob <- des_pob %>%
rename_with(~gsub("value", "v.", .x))
• Las columnas cuyos nombres contengan v..y reemplace por Porc.pobreza.
des_pob <- des_pob %>%
rename_with(~gsub("v..y", "Porc.pobreza", .x))
• Las columnas cuyos nombres contengan v. reemplace por Tasa.desemp.
des_pob <- des_pob %>%
rename_with(~gsub("v.", "Tasa.desemp", .x))
#Previo a llevar a cabo el literal 5 es necesario realizar un filtro que nos permita obtener una base de datos sin valores agrupados por "Ambos sexos" y "America Latina y el Caribe" ademas de los de Guatemala ya que no presenta datos suficientes .
des_pob <- des_pob %>% filter(País.est != "América Latina y el Caribe" & País.est !="Guatemala" &
Sexo !="Ambos sexos")
#Adicional, se cambiaran los nombres a algunos paises para fines de visualizacion.
des_pob$País.est <-ifelse(des_pob$País.est=="Bolivia (Estado Plurinacional de)", "Bolivia", des_pob$País.est)
des_pob$País.est <-ifelse(des_pob$País.est=="Venezuela (República Bolivariana de)", "Venezuela", des_pob$País.est)
grafico2<- ggplot(by_sex_años, aes(Tasa.desemp, Porc.pobreza))+
geom_line(color = "chocolate", lwd = .4)+
labs(title= 'Relacion entre la Tasa de Desempleo y el Porcentaje de Pobreza en los paises de America Latina',caption = "Fuente:CEPAL", x="Tasa de desempleo", y= "Porcentaje de pobreza")+
facet_wrap(vars(País.est))+
stat_smooth(method = "lm", se = FALSE, color = "blue", lwd = .4)+
coord_cartesian(xlim = c(0, 30), ylim = c(0, 70))+
theme(axis.text.x = element_text(color = "lightblue4", size = 8),
axis.text.y = element_text(color = "lightblue4", size = 8),
panel.grid = element_blank(),
panel.background = element_rect(fill = "lightcyan2"))
ggplotly(grafico2)
## `geom_smooth()` using formula 'y ~ x'
tablaH <- des_pob %>% filter(País.est=="Ecuador"& Sexo=="Hombres") %>% select(Años.est:Porc.pobreza)
tablaM <- des_pob %>% filter(País.est=="Ecuador"& Sexo=="Mujeres") %>% select(Años.est:Porc.pobreza)
tablaG<-tablaM %>% inner_join(tablaH, by=c("Años.est"))
tablaG <- tablaG %>% select(Años.est, Tasa.desemp.x, Porc.pobreza.x,Tasa.desemp.y, Porc.pobreza.y)
tablaG <- tablaG %>%
rename_with(~gsub(".x", " Mujeres", .x))
tablaG <- tablaG %>%
rename_with(~gsub(".y", " Hombres", .x))
tablaG <- tablaG %>%
rename_with(~gsub("Tasa.desemp", "T. desemp", .x))
tablaG <- tablaG %>%
rename_with(~gsub("Porc.pobreza", "% Pobr", .x))
tablaG <- tablaG %>%
rename_with(~gsub(".est", "", .x))
knitr::kable(tablaG,
caption = "Tasa de desempleo y Porcentaje de pobreza en hombres y mujeres, Ecuador")
| Años | T. desemp Mujeres | % Pobr Mujeres | T. desemp Hombres | % Pobr Hombres |
|---|---|---|---|---|
| 2005 | 5.700000 | 41.0 | 3.590000 | 39.7 |
| 2006 | 4.980000 | 36.3 | 3.360000 | 34.9 |
| 2007 | 3.853109 | 35.8 | 2.615756 | 34.6 |
| 2008 | 4.951964 | 35.2 | 3.190181 | 34.2 |
| 2009 | 5.852537 | 36.3 | 3.741867 | 34.8 |
| 2010 | 4.900669 | 33.2 | 3.500310 | 32.3 |
| 2011 | 4.248030 | 30.0 | 2.910606 | 28.4 |
| 2012 | 3.805314 | 27.4 | 2.845428 | 25.8 |
| 2013 | 3.654831 | 27.3 | 2.685779 | 25.5 |
| 2014 | 4.099952 | 24.1 | 3.039053 | 22.7 |
| 2015 | 4.483609 | 24.4 | 2.992251 | 23.2 |
| 2016 | 5.789646 | 24.9 | 3.686180 | 23.7 |
| 2017 | 4.881584 | 24.3 | 3.033317 | 23.0 |
| 2018 | 4.363962 | 24.7 | 2.912225 | 23.6 |
| 2019 | 4.562376 | 26.1 | 3.235053 | 25.3 |
| 2020 | 9.465523 | 30.7 | 6.396831 | 30.5 |