Creación de gráficas

En esta nota, a partir de la Encuesta Nacional de Ocupación y Empleo, se grafica el porcentaje de personas ocupadas que presentan analfabetismo.

Procesamiento de datos

  1. Filtro de la base para utilizar datos de población ocupada y mayor de 15 años
  2. Etiquetar variable sexo
  3. Etiquetar varibale de analfabetismo

Gráfica

Se grafica el porcentaje de personas ocupadas por sexo y analfabetismo

paquetes=c("survey","ggsurvey","forcats","haven","readxl","readxl","fastDummies","readr", "dplyr", "foreign", "tidyr", "ggplot2", "writexl","openxlsx","gridExtra")
for (i in paquetes) {if (!require(i, character.only = TRUE)) {install.packages(i);library(i, character.only = TRUE)} else {library(i, character.only = TRUE)}}

library(scales)

setwd("~/Curso visualización de datos/Curso VD")

enoe=read_dta("ENOE_SDEMT423.dta")



# Variable filtro . Filtrar por los que no respondieron y 15 o más años

enoe <- enoe %>%
  mutate(f = r_def == 0 & (c_res == 1 | c_res == 3) & eda >= 15 & eda <= 98)


enoe=enoe %>% filter(f==1)


# 3.1 Subconjuntos de datos

# CLASE2=Condicion de ocupacion
# Codigos: 1=Ocupado, 2=Desocupado, 3=Disponible, 4=No disponible

# Convertir la variable a dato numerico
enoe$clase2=as.numeric(enoe$clase2)

# Filtrar la base, necesitamos a los ocupados CLASE2=1
ocupados=enoe%>%filter(clase2==1)

# 3.2 Etiquetado de variables


# Codigos: 1=Hombre, 2=Mujer
ocupados <- ocupados %>%
  mutate(sex = fct_recode(factor(sex),
                          Hombre = "1",
                          Mujer = "2"))

# pos_ocu=Posicion en la ocupacion
# Codigos: 1=Suborninado, 2=Independiente, 3=Disponible, 0=No aplica
ocupados <- ocupados %>%
  mutate(pos_ocu = fct_recode(factor(pos_ocu),
                              "No Aplica" = "0",
                              "Subordinado" = "1",
                              "Empleadores" = "2",
                              "Cuenta propia" = "3",
                              "Sin pago" = "4"))



#Ejercicio 2
ocupados <- ocupados %>%
  mutate(cs_p12 = fct_recode(factor(cs_p12),
                          Sí = "1",
                          No = "2",
                          No_sabe = "9"))






ocupados_ej <- ocupados %>%
  group_by(cs_p12, sex) %>%
  summarise(count = n(), .groups = 'drop') %>%
  group_by(cs_p12) %>%
  mutate(percent = count / sum(count) * 100)

g4 <- ggplot(ocupados_ej, aes(x = cs_p12, y = percent, fill = sex)) 

g4+geom_bar(stat = "identity", position = "dodge") +  # Usar barras con posición dodge
  geom_text(aes(label = scales::percent(percent / 100)), position = position_dodge(width = 0.9), vjust = -0.5, size = 2.5) +
  ggtitle("Analfabetismo en población ocupada por sexo") +
  xlab("¿Sabe leer y escribir una nota?") +
  ylab("Porcentaje") +
  labs(caption = "Fuente:Información de la ENOE cuarto trimestre 2023") +  # Añade la fuente y nota como pie de página
  theme_light(base_size = 9) +
  theme(plot.title = element_text(hjust = 0.5),                                              # Centrar el título horizontalmente
        plot.caption = element_text(hjust = 0, size = 7)) +
  scale_fill_brewer(palette = "Blues", name = "Sexo") +
  scale_y_continuous(labels = percent_format(scale = 1))