27.2 Diagrama de Barras
Los diagrama de barras se usan para variables categóricas o cualitativas.
geom_bar() utiliza stat_count() por defecto, es decir, cuenta el número de casos por cada categoría.
Si se suministra un ponderador (weight), calcula la suma de los pesos.
Un ejemplo simulado. Suponga que cada familia representa a varias;
# Simular datos
set.seed(1515)
n <- 200
estratos <- levels(saber$fami_estratovivienda)
porcentajes_estrato <- saber %>%
select(fami_estratovivienda) %>%
filter(!is.na(fami_estratovivienda)) %>%
count(fami_estratovivienda) %>%
mutate(porcentaje = n/sum(n)*100)
simula <- data.frame(Individuo = 1:200,
Estrato.vivienda = sample(estratos,
size = n,
replace = TRUE,
prob = porcentajes_estrato$porcentaje),
Peso = round(runif(n, min = 2.0, max = 200.0), 0))
knitr::kable(head(simula), row.names = FALSE,
align = c('c', 'c', 'c'))| Individuo | Estrato.vivienda | Peso |
|---|---|---|
| 1 | 2 | 176 |
| 2 | 5 | 200 |
| 3 | 1 | 50 |
| 4 | 1 | 126 |
| 5 | 3 | 45 |
| 6 | 3 | 165 |
Se suma la totalidad:
## # A tibble: 7 × 2
## Estrato.vivienda valores
## <chr> <dbl>
## 1 1 5653
## 2 2 7618
## 3 3 3487
## 4 4 1286
## 5 5 374
## 6 6 317
## 7 Rural 1107
ggplot(data = simula) +
aes(x = Estrato.vivienda, weight = Peso) +
geom_bar(fill = "chartreuse4", color = "olivedrab", alpha = 0.2) +
labs(title = "Frecuencia expandida por estrato",
x = "Estrato", y = "Frecuencia expandida")
geom_bar() no requiere de la especificación de una variable para el eje vertical, pero se puede proporcionar.
ggplot(data = saber) +
aes(x = fami_estratovivienda, y = after_stat(prop),
group = 1) +
geom_bar(fill = "darkolivegreen4",
color = "chartreuse4",
alpha = 0.2) +
labs(title = "Frecuencia por estrato",
x = "Estrato", y = "Proporción")
La función stat(prop) anula la conexión por defecto entre geom_bar() y stat_count() y calcula a cambio la frecuencia relativa.
Por defecto la proporción de Estrato 1 respecto al Estrato 1 es del 100%, al igual que la proporción de Estrato 2, etc. group = 1 evita esto, de modo que las proporciones de nivel de estrato serán relativas a todos los niveles de estrato familiar. group= es una agrupación “ficticia” para anular el comportamiento por defecto.