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:
<- diseno %>%
tamano_zona 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:
<- ggplot(
plot25_Ponde 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:
<- diseno %>%
tamano_pobreza 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:
<- ggplot(
plot26_Ponde 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.
<- diseno %>%
tamano_ocupacion_pobreza 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:
<- ggplot(
plot27_Ponde 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:
<- sub_Hombre %>%
prop_ZonaH_Pobreza 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:
<- ggplot(
plot28_Ponde 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:
<- sub_Hombre %>%
prop_RegionH_Pobreza 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:
<- ggplot(
plot29_Ponde 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