У меня есть df, который выглядит следующим образом
df <- structure(list(Sex = structure(c(1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L), .Label = c("Female",
"Male"), class = "factor"), Victim = structure(c(1L, 1L, 1L,
2L, 2L, 2L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 2L, 1L,
1L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 1L, 2L, 2L
), .Label = c("no", "yes"), class = "factor"), Crime = structure(c(1L,
2L, 3L, 1L, 1L, 3L, 1L, 1L, 1L, 1L, 3L, 3L, 3L, 2L, 2L, 1L, 1L,
1L, 1L, 3L, 2L, 2L, 1L, 3L, 1L, 1L, 3L, 1L, 1L, 1L, 2L, 2L, 2L,
3L, 1L), .Label = c("Kidnapping", "Robbery", "Sexual assault"
), class = "factor")), class = "data.frame", row.names = c(NA,
-35L))
И я построил его так:
df %>%
group_by(Sex, Victim) %>%
count(Crime) %>%
mutate(Percent = n/sum(n)*100) %>%
ggplot(aes(x=Victim, y=Percent))+
geom_col()+
facet_grid(Crime~Sex)
Как видно, проценты были рассчитаны на основе сгруппированных данных, так что каждая комбинация «Секс и жертва» составляет до 100%.
Однако это НЕ то, что я хочу. То, что я хотел бы рассчитать / построить график, это, например, процент женщин, которые не были жертвами похищения (57,14%, а не 50,00% в расчете) по сравнению с женщинами, которые стали жертвами похищения (42,85%, что составляет исправить случайно).
Как мне это написать?
Любая помощь очень ценится.