7.4 Diagrama de barras para variables categoricas

Para realizar estos gráfico, en primer lugar, se deben realizar las estimaciones puntuales de los tamaños que se van a graficar:

tamano_zona <- diseno %>%
  group_by(Zone) %>%
  summarise( Nd = survey_total(vartype = c("se", "ci")))
tamano_zona 
Zone Nd Nd_se Nd_low Nd_upp
Rural 72102 3062 66039 78165
Urban 78164 2847 72526 83802

Ahora, se procede a hacer el gráfico como se mostró en las secciones anteriores:

plot25_Ponde <- ggplot(
  data = tamano_zona, 
  aes(
    x = Zone,         
    y = Nd,           
    ymax = Nd_upp,    
    ymin = Nd_low,    
    fill = Zone)) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_errorbar(position = position_dodge(width = 0.9),
    width = 0.3) +
  theme_bw()
plot25_Ponde

Como se ha visto en los gráficos anteriores, se pueden extender a variables con muchas más categorías:

tamano_pobreza <- diseno %>%
  group_by(Poverty) %>%
  summarise(Nd = survey_total(vartype = c("se", "ci")))
tamano_pobreza
Poverty Nd Nd_se Nd_low Nd_upp
NotPoor 91398 4395 82696 100101
Extreme 21519 4949 11719 31319
Relative 37349 3695 30032 44666

El gráfico se obtiene con una sintaxis homologa a la anterior:

plot26_Ponde <- ggplot(
  data = tamano_pobreza,
  aes(
    x = Poverty,
    y = Nd,
    ymax = Nd_upp,
    ymin = Nd_low,
    fill = Poverty)) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_errorbar(
    position = position_dodge(width = 0.9),
    width = 0.3) +
  theme_bw()
plot26_Ponde

De forma similar a los gráficos Boxplot, es posible realizar comparaciones entre más dos variables.

tamano_ocupacion_pobreza <- diseno %>%
  group_by(desempleo, Poverty) %>%
  summarise(Nd = survey_total(vartype = c("se", "ci"))) %>% as.data.frame() %>% 
  mutate(desempleo = ifelse(is.na(desempleo),"Ninos",desempleo))
tamano_ocupacion_pobreza
desempleo Poverty Nd Nd_se Nd_low Nd_upp
0 NotPoor 68946 3676.3 61666.8 76226
0 Extreme 11549 2208.8 7175.8 15923
0 Relative 22847 2558.5 17780.5 27913
1 NotPoor 1768 405.4 965.7 2571
1 Extreme 1169 348.1 479.9 1859
1 Relative 1697 457.8 790.7 2604
Ninos NotPoor 20684 1256.6 18195.4 23172
Ninos Extreme 8800 2979.9 2899.7 14701
Ninos Relative 12805 1551.0 9733.9 15876

El gráfico para la tabla anterior queda de la siguiente manera:

plot27_Ponde <- ggplot(
  data = tamano_ocupacion_pobreza,
    aes(
      x = Poverty,
      y = Nd,
      ymax = Nd_upp,
      ymin = Nd_low,
      fill = as.factor(desempleo))) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_errorbar(
    position = position_dodge(width = 0.9),
    width = 0.3) +
  theme_bw()
plot27_Ponde

En estos gráficos también se pueden presentar proporciones, como se muestra a continuación:

prop_ZonaH_Pobreza <- sub_Hombre %>%
  group_by(Zone, Poverty) %>%
  summarise(prop = survey_prop(vartype = c("se", "ci")))
prop_ZonaH_Pobreza
## # A tibble: 6 × 6
## # Groups:   Zone [2]
##   Zone  Poverty   prop prop_se prop_low prop_upp
##   <chr> <fct>    <dbl>   <dbl>    <dbl>    <dbl>
## 1 Rural NotPoor  0.549  0.0626   0.424     0.668
## 2 Rural Extreme  0.198  0.0675   0.0958    0.364
## 3 Rural Relative 0.254  0.0372   0.187     0.334
## 4 Urban NotPoor  0.660  0.0366   0.584     0.728
## 5 Urban Extreme  0.113  0.0245   0.0726    0.171
## 6 Urban Relative 0.227  0.0260   0.180     0.283

Después de tener la tabla con los valores a presentar en el gráfico, los códigos computacionales para realizar el gráfico es el siguiente:

plot28_Ponde <- ggplot(
  data = prop_ZonaH_Pobreza,
  aes(
    x = Poverty, y = prop,
    ymax = prop_upp, ymin = prop_low,
    fill = Zone)) + 
  geom_bar(stat = "identity", position = "dodge") +
  geom_errorbar(
    position = position_dodge(width = 0.9),
    width = 0.3
  ) + scale_fill_manual(values = colorZona) +
  theme_bw()
plot28_Ponde

Ahora bien, grafiquemos la proporción de hombres en condición de pobreza por región:

prop_RegionH_Pobreza <- sub_Hombre %>%
  group_by(Region, pobreza) %>%
  summarise(
    prop = survey_prop(vartype = c("se", "ci"))) %>%
  data.frame()
prop_RegionH_Pobreza
Region pobreza prop prop_se prop_low prop_upp
Norte 0 0.6315 0.0552 0.5171 0.7327
Norte 1 0.3685 0.0552 0.2673 0.4829
Sur 0 0.6134 0.0567 0.4970 0.7181
Sur 1 0.3866 0.0567 0.2819 0.5030
Centro 0 0.6453 0.0846 0.4666 0.7910
Centro 1 0.3547 0.0846 0.2090 0.5334
Occidente 0 0.6259 0.0439 0.5358 0.7080
Occidente 1 0.3741 0.0439 0.2920 0.4642
Oriente 0 0.5450 0.1012 0.3480 0.7289
Oriente 1 0.4550 0.1012 0.2711 0.6520

El gráfico de barras es el siguiente:

plot29_Ponde <- ggplot(
  data = prop_RegionH_Pobreza,
  aes(
    x = Region, y = prop,
    ymax = prop_upp, ymin = prop_low,
    fill = as.factor(pobreza))) +
  geom_bar(stat = "identity", position = "dodge") +
  geom_errorbar(
    position = position_dodge(width = 0.9),
    width = 0.3
  ) +
  theme_bw()
plot29_Ponde