I would like to make a stacked barchart in ggplot2 that would show percentage of positive patients with symptoms in 4 distinct groups.
Therefore, each group will have calculated its own percentage of positive patients which will need to be done for each symptom.
The barchart without the percentages looks like this:
The code:
symptoms %>% pivot_longer(cols = c(symptom_1, symptom_2, symptom_3, symptom_4, symptom_5, symptom_6), names_to = "name", values_to = "value") %>% ggplot(aes(x = name, y = value, fill = factor(group))) geom_col()
The data:
group;symptom_1;symptom_2;symptom_3;symptom_4;symptom_5;symptom_6
2;1;1;1;0;1;1
2;1;1;1;0;0;0
1;0;0;0;0;0;0
1;0;1;0;0;0;0
1;0;0;0;0;0;0
3;0;0;0;0;0;0
4;0;1;0;0;0;0
1;1;0;1;0;0;1
1;0;0;0;0;0;0
2;0;1;1;1;1;1
2;1;0;0;0;0;0
1;0;1;1;0;0;0
1;1;1;0;0;0;1
2;0;0;0;0;1;0
2;0;0;1;0;0;0
4;0;1;1;0;1;0
4;0;0;0;0;0;0
1;1;0;0;0;0;0
1;0;0;0;0;0;0
2;0;1;0;0;0;0
3;1;0;0;0;0;0
1;0;0;0;0;0;0
2;0;0;1;0;1;0
1;0;0;0;0;1;1
2;0;0;0;0;0;0
3;1;0;0;0;1;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
2;0;0;0;0;1;0
4;0;0;0;0;0;0
4;0;1;1;0;0;0
1;0;0;0;0;0;1
4;0;0;0;0;0;0
1;1;0;0;0;0;0
4;0;0;0;0;0;0
2;0;1;0;0;1;0
4;0;1;0;0;0;0
2;0;0;0;0;1;0
1;0;0;0;1;0;0
4;0;0;0;0;0;0
4;0;0;0;1;0;0
3;1;1;1;1;0;1
1;0;0;0;0;0;0
4;0;0;1;0;0;0
1;0;0;0;0;0;0
3;0;0;1;0;0;1
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;0;1
4;0;0;0;0;0;0
1;0;1;0;0;0;1
1;0;0;0;0;0;0
4;1;0;1;1;0;0
3;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;0;0
2;0;0;0;0;0;0
3;0;1;0;0;0;0
4;1;0;1;0;0;0
4;0;0;0;1;0;0
1;1;0;0;0;0;0
2;0;0;0;0;0;1
4;0;0;0;0;0;0
3;0;0;0;0;0;0
2;0;0;0;0;0;0
3;1;0;1;0;0;0
4;1;0;0;0;0;0
1;0;0;0;0;1;0
2;1;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;1;0;0;0
2;1;0;0;0;1;0
1;0;0;0;0;0;0
1;1;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;1;1;0;0
1;1;0;0;0;1;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
4;1;0;0;0;0;0
1;1;1;0;0;0;1
1;0;0;0;1;0;1
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;1;0;0;0;0
3;0;0;0;0;0;0
4;1;1;1;0;0;0
1;1;0;0;0;0;0
1;1;0;0;0;1;0
2;0;0;0;1;0;0
4;1;1;1;0;0;0
1;1;1;1;0;1;1
1;0;1;1;0;0;0
3;0;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;1;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;1;0
4;0;1;1;0;0;0
2;1;0;0;0;0;0
2;1;0;0;0;0;1
1;0;1;0;0;0;0
4;1;0;1;0;0;1
3;0;0;0;0;0;0
3;0;0;0;0;1;0
4;0;0;0;0;0;0
3;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
3;0;0;0;0;0;0
3;1;1;0;0;1;0
4;0;1;0;0;0;0
4;1;0;0;0;0;0
1;0;0;0;0;0;0
3;0;1;0;0;0;0
4;0;1;0;0;0;0
3;0;0;0;0;0;0
1;1;0;0;0;1;0
1;1;1;0;0;0;0
4;0;0;1;1;0;0
3;0;0;0;0;0;0
4;0;1;1;1;0;0
3;0;0;0;0;0;0
3;1;0;0;0;0;0
3;0;0;0;0;1;0
3;0;1;1;0;0;0
2;0;0;0;0;0;0
1;1;0;0;0;0;0
3;0;0;0;0;0;0
1;1;0;1;0;1;0
2;1;0;0;0;1;0
1;0;1;0;0;0;0
3;0;0;0;0;0;0
4;0;0;1;0;0;0
4;0;1;0;1;1;0
2;0;0;0;0;0;1
1;0;0;0;0;0;0
1;0;0;1;0;1;0
4;0;0;1;0;0;0
2;0;0;1;0;1;0
3;0;0;0;0;0;0
1;0;1;1;0;0;1
1;0;0;1;0;0;0
4;0;0;1;0;0;0
2;0;0;0;0;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
4;1;0;0;0;0;0
1;1;0;0;0;1;0
4;0;1;1;1;0;0
3;1;0;0;0;0;0
1;0;0;0;0;0;1
1;0;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;1;0;0;0
1;0;0;0;0;0;0
3;1;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;0;0
1;0;0;0;0;0;1
3;0;0;0;1;0;0
4;0;0;0;0;1;0
1;0;0;0;0;0;1
2;0;0;0;0;0;0
3;1;0;0;1;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;1;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
4;1;0;1;0;0;0
4;0;0;0;0;0;1
3;0;1;0;0;0;1
4;0;1;0;1;1;0
3;1;0;0;0;0;0
4;1;1;0;0;0;0
1;1;0;1;0;0;0
2;0;0;0;0;0;0
3;0;0;1;0;0;0
2;0;0;0;1;0;0
1;1;0;0;0;0;0
1;1;0;0;0;1;0
1;0;0;0;0;0;0
4;0;1;1;0;0;0
1;0;0;0;0;0;1
3;0;1;0;1;0;0
3;1;0;0;0;1;0
2;0;0;0;0;0;0
1;1;0;0;0;0;0
4;1;0;0;0;0;0
1;0;0;0;0;0;0
1;0;0;0;0;0;1
2;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;1;0
4;0;0;0;0;0;0
2;0;0;0;0;0;0
4;0;1;0;1;1;0
4;1;0;1;0;0;0
3;1;0;0;0;0;0
1;0;0;0;0;0;0
3;1;0;1;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
3;0;0;0;0;0;0
3;0;0;0;0;0;0
2;1;0;0;0;0;0
1;1;0;0;0;0;0
3;0;0;0;0;1;0
1;1;1;0;0;1;0
1;1;0;0;0;0;0
4;0;0;1;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
1;0;0;1;0;0;0
4;0;0;0;0;0;0
2;0;1;0;0;0;0
3;1;1;1;0;0;0
1;0;0;0;0;0;0
1;0;1;0;0;0;0
3;0;0;1;0;0;0
4;0;0;0;1;0;0
1;0;0;0;0;0;0
3;0;0;0;0;0;0
1;0;0;1;0;0;1
4;1;1;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;0;0
1;1;1;0;0;1;1
2;0;0;0;0;0;1
2;0;1;1;0;1;1
1;0;0;1;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
2;1;1;1;0;1;1
2;1;0;1;0;1;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
2;0;1;0;0;0;0
2;0;0;0;0;1;0
1;0;0;0;0;0;0
1;0;0;0;0;1;0
1;0;0;1;0;0;1
3;0;1;0;0;0;0
4;1;1;1;0;0;0
4;1;0;0;0;1;0
2;0;0;0;0;0;1
4;0;0;0;1;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
1;1;0;0;0;0;0
3;0;0;1;0;0;0
1;0;0;0;0;0;1
4;0;0;0;0;0;0
1;1;0;0;0;1;0
4;0;1;1;1;0;0
1;0;0;0;0;0;0
1;0;0;0;0;0;0
2;1;0;0;0;1;0
2;1;1;0;0;1;1
3;0;0;0;0;0;0
2;0;1;0;0;1;0
1;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
2;0;0;0;0;1;0
2;0;0;0;0;0;0
1;0;0;1;0;0;0
1;0;0;0;0;0;0
1;1;0;0;0;0;1
4;1;0;0;0;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;1;0;0;0
1;1;0;0;0;0;0
1;0;0;0;0;0;1
1;0;0;1;0;0;0
3;0;0;0;1;0;0
4;0;1;0;0;1;0
3;0;1;1;0;0;1
2;1;1;0;0;1;1
4;1;0;0;1;0;0
4;1;1;1;0;0;0
2;1;0;1;0;0;0
2;0;0;0;0;1;0
4;1;0;1;0;0;0
4;0;1;0;1;0;0
4;0;0;0;0;0;0
1;1;0;0;0;0;0
2;1;1;1;0;1;0
2;1;1;0;0;0;0
2;1;1;0;1;0;0
4;0;0;0;1;0;0
1;1;0;0;0;0;0
4;1;0;0;0;0;0
3;0;0;0;0;1;0
2;0;0;0;0;1;0
4;0;0;0;0;1;0
2;0;0;0;0;0;0
2;0;0;1;0;0;0
3;1;0;0;0;0;0
1;1;1;0;0;0;0
1;0;0;0;0;1;1
3;1;0;1;0;0;0
1;1;1;0;0;0;0
3;0;0;0;1;0;0
4;0;0;0;0;0;0
4;1;0;0;0;0;0
2;0;1;1;0;0;0
4;0;0;0;1;0;0
3;0;0;0;0;1;0
1;0;0;0;0;1;0
2;0;1;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;0;0
4;0;0;0;0;0;0
2;0;1;1;0;0;0
2;0;0;0;0;0;0
1;0;0;1;0;1;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;1;0;1;0;0;0
4;0;0;1;1;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;1;0
1;0;0;0;0;1;0
3;0;0;0;0;0;0
4;0;1;0;0;0;0
4;0;0;0;0;0;0
1;0;0;1;0;0;0
1;0;0;0;0;1;1
1;0;0;0;0;0;0
2;0;0;0;0;1;1
4;0;0;0;1;0;0
2;0;1;0;0;0;0
1;0;1;0;0;0;1
4;1;1;0;0;0;0
4;0;0;0;0;0;0
2;1;0;0;0;1;0
3;0;1;0;0;0;0
4;0;1;1;0;0;0
2;1;0;0;0;0;1
1;0;1;1;0;0;0
2;0;1;0;0;0;1
2;0;0;0;0;0;0
2;0;0;1;0;0;0
4;0;0;1;0;0;0
2;1;0;0;0;1;0
4;0;0;0;0;0;0
4;0;0;1;1;0;0
2;0;1;1;0;0;1
4;0;0;1;0;0;0
1;1;1;1;0;0;0
4;0;1;0;0;1;0
4;0;1;0;0;0;0
1;0;1;1;0;0;0
1;0;1;1;0;0;0
3;0;0;0;0;0;0
4;0;0;1;0;0;0
3;1;0;1;0;0;0
4;0;0;0;0;0;0
3;0;1;0;0;0;0
1;1;0;0;0;0;0
4;0;1;0;0;1;0
1;0;1;0;0;0;1
1;1;0;0;0;0;1
1;0;1;1;0;0;0
3;0;1;0;0;0;0
3;1;1;0;1;0;0
4;0;1;0;1;0;0
1;0;0;0;0;0;0
1;1;1;1;0;0;1
1;1;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;1;1
4;1;0;1;0;0;0
2;0;1;0;0;0;1
3;0;1;1;0;0;0
4;0;0;1;1;0;0
2;1;0;0;0;0;1
4;0;0;0;1;0;0
1;0;0;1;0;0;1
2;1;0;0;0;0;1
1;0;0;0;0;0;0
2;1;1;0;0;0;0
2;0;0;1;0;1;1
1;0;0;0;0;0;0
4;0;0;0;1;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;1;0;0;0
1;0;1;1;0;0;0
2;1;0;1;0;1;1
4;0;0;0;1;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;0;0
4;1;1;1;0;0;0
2;0;0;1;0;0;0
4;0;0;0;0;0;0
3;1;0;0;0;1;1
2;0;0;0;0;0;0
2;0;1;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;1;0;0;1;0
4;0;0;0;0;0;0
3;1;0;0;0;0;1
4;0;0;0;0;0;0
4;0;0;1;0;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;0;1
4;0;1;1;0;0;0
3;0;0;0;0;0;1
4;0;0;0;0;1;1
1;0;0;0;1;0;0
2;0;1;0;0;0;0
4;0;1;1;1;0;0
1;1;0;0;1;0;0
4;0;1;0;0;0;0
1;1;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
2;1;0;0;0;0;0
3;0;0;0;0;0;0
1;0;1;0;0;0;0
4;0;1;0;0;0;0
4;1;0;1;0;0;0
4;0;0;0;0;0;0
4;1;1;0;0;0;0
1;0;0;0;0;0;0
2;0;0;1;1;0;0
1;1;0;1;0;0;0
1;0;0;1;0;0;0
2;1;0;0;0;0;0
3;0;0;0;0;0;0
2;1;1;0;0;0;0
1;0;1;0;0;0;0
2;0;0;0;0;0;0
1;1;0;0;0;0;0
4;1;0;0;0;0;1
4;0;1;1;0;0;0
2;0;0;0;1;0;0
4;0;0;0;1;0;0
1;0;0;0;0;0;1
4;0;0;0;0;0;0
2;0;0;0;0;0;0
4;0;0;0;1;0;0
2;1;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;1;0
2;0;0;0;0;0;0
4;0;0;1;0;0;0
1;1;0;1;0;0;0
4;0;0;0;0;0;0
4;0;1;0;0;0;1
4;0;0;0;0;0;0
3;1;1;1;0;0;0
1;0;1;0;0;0;1
3;0;1;1;0;1;1
4;0;0;0;1;0;0
4;1;0;0;0;0;0
1;0;0;1;0;0;0
2;1;0;1;0;0;0
4;0;0;1;0;0;0
1;0;0;0;0;0;1
1;0;1;0;0;0;0
4;0;1;0;0;0;0
4;1;1;1;0;0;0
2;1;0;1;0;1;0
2;0;0;0;0;1;0
1;1;0;0;0;0;0
2;0;1;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;1;0;0;0;0
4;0;0;1;1;0;1
3;0;0;0;0;0;0
1;0;1;0;0;0;0
4;0;1;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;1;1;1;0;0
2;0;0;1;0;0;0
1;1;1;0;0;0;0
1;1;0;0;0;0;0
4;0;1;0;1;0;0
3;0;1;0;0;0;0
2;1;1;0;1;1;0
4;1;1;1;0;0;0
2;1;0;0;0;1;0
1;1;0;0;0;1;0
1;0;0;0;0;0;0
2;0;1;0;0;0;0
4;1;0;0;1;0;0
2;0;0;0;0;0;0
4;1;0;0;1;0;0
2;0;0;0;0;0;1
4;0;0;0;0;0;0
2;0;0;0;0;0;0
1;1;0;0;0;1;0
3;0;0;1;0;0;0
4;0;0;0;0;0;0
1;0;0;1;0;1;0
4;0;0;0;1;0;0
3;0;1;1;0;0;0
1;0;0;0;0;0;1
1;1;0;1;0;0;1
3;0;0;0;0;0;0
4;1;1;1;0;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;1;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;1;0
2;0;0;0;0;0;1
2;1;0;1;0;0;0
1;0;0;0;0;0;0
3;0;0;0;0;0;0
4;0;1;1;0;0;0
2;1;1;1;0;0;1
3;0;0;0;1;0;0
1;1;1;0;0;0;0
2;0;0;0;0;1;0
1;0;0;1;1;0;0
2;0;0;0;0;0;0
1;0;0;0;0;0;0
2;0;0;0;0;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;0;0
1;1;0;0;0;1;0
4;0;0;0;0;0;1
1;0;0;1;0;0;0
4;0;1;0;0;0;0
4;1;0;1;0;0;0
4;0;0;0;0;1;0
4;0;0;0;0;0;0
2;0;0;0;1;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
4;1;0;0;1;0;0
4;0;0;0;1;0;0
1;0;0;0;0;0;0
4;0;1;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;1;0;0
1;0;0;0;0;0;0
1;0;0;1;0;0;0
3;1;1;1;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;0;0
3;0;0;0;0;0;0
2;0;0;1;0;0;0
4;0;0;0;1;0;0
4;0;0;0;0;0;0
2;1;1;1;1;0;0
2;1;0;0;0;0;0
3;1;0;0;0;0;1
4;1;1;0;0;0;0
3;0;0;0;0;0;0
4;1;0;0;0;0;0
2;0;0;0;0;0;0
4;0;0;1;0;0;1
1;0;0;0;0;1;1
1;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;0;1
1;0;0;0;0;0;1
4;1;0;0;0;0;0
3;0;0;0;0;0;0
1;1;0;1;0;0;0
4;0;0;0;0;0;0
4;0;0;0;1;0;0
4;1;0;0;0;1;1
1;0;0;0;0;0;0
1;0;0;1;0;0;0
4;0;0;1;0;0;0
4;0;0;0;1;1;0
2;0;0;0;0;0;0
3;0;0;0;0;0;0
3;0;0;0;0;0;0
2;1;1;1;0;1;1
2;1;0;0;0;0;0
4;1;0;1;0;0;0
4;1;0;1;1;0;0
1;0;0;0;0;0;0
2;0;0;0;0;0;0
2;0;0;1;0;0;0
4;0;0;0;0;0;1
4;1;0;1;0;0;0
4;0;0;0;1;0;0
2;0;0;0;0;0;0
1;0;0;0;0;0;0
2;1;0;0;0;1;0
2;0;0;0;0;1;0
3;1;0;1;0;0;0
4;0;0;0;0;0;0
2;0;1;0;0;1;0
2;0;0;0;0;0;0
3;0;0;0;0;0;0
4;0;0;1;1;1;0
1;0;0;0;0;0;0
1;0;0;0;0;0;1
3;1;0;0;0;0;0
4;0;0;0;1;0;0
2;0;0;1;0;0;0
1;1;0;0;0;0;0
1;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;0;0;0;0
4;0;0;1;1;0;0
3;0;1;1;0;0;0
1;0;0;0;0;0;0
4;1;0;0;1;0;0
4;0;0;0;0;0;0
4;0;1;1;1;0;0
4;0;0;0;0;0;0
1;1;0;0;0;1;0
1;0;1;1;0;0;0
1;1;0;0;0;0;0
4;1;1;1;0;0;0
3;0;0;1;0;0;0
1;0;0;0;0;0;0
3;0;0;0;1;0;0
1;1;0;1;0;0;0
3;1;0;0;0;0;0
1;0;0;0;0;0;0
1;0;0;0;0;0;0
1;0;0;0;0;0;0
1;1;0;1;1;0;0
3;0;0;1;0;1;0
1;1;0;0;0;1;0
2;0;0;1;0;0;1
4;0;0;0;0;0;0
1;0;1;0;0;0;0
2;0;0;0;0;0;0
1;1;0;0;0;0;0
4;0;1;0;0;0;0
4;0;0;1;1;0;0
2;0;0;0;0;1;0
4;0;0;0;0;0;0
3;0;0;0;0;0;0
3;0;0;0;0;0;0
2;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;1;0;1;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
3;0;0;0;0;0;0
1;1;0;0;0;1;0
2;0;0;0;0;0;0
2;0;0;1;0;0;0
4;0;0;0;0;0;0
4;1;1;0;0;0;0
2;1;0;0;0;0;0
2;0;0;0;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;0;0
3;0;1;0;0;0;0
4;0;1;0;0;0;0
4;0;0;0;1;0;0
3;0;0;0;0;1;0
3;0;0;0;0;0;0
4;0;1;1;0;0;0
3;0;0;1;0;0;0
3;0;0;0;1;0;0
1;0;0;0;0;0;0
3;0;0;1;0;0;0
1;1;0;0;0;1;0
4;0;0;0;0;0;0
3;0;1;1;0;0;0
2;1;0;0;1;1;0
4;0;0;0;0;0;0
3;1;0;0;0;0;0
1;0;1;1;0;0;0
3;1;1;1;0;0;0
1;0;0;0;0;0;0
3;1;0;0;0;0;0
4;0;0;0;0;0;0
3;1;0;0;0;1;0
1;1;0;1;0;0;0
2;0;0;0;0;0;0
4;0;1;0;1;0;0
1;0;0;0;0;0;0
1;0;0;0;0;0;0
3;1;1;1;0;0;0
1;0;0;0;1;0;0
2;0;0;0;0;0;0
1;0;1;1;0;1;1
2;0;0;1;1;0;0
3;1;0;0;0;0;0
2;1;0;1;0;1;0
1;0;0;0;0;0;0
4;0;1;1;1;0;0
4;0;1;0;0;0;0
4;0;0;0;0;0;0
4;0;1;0;0;0;0
4;0;0;0;1;0;0
4;0;0;0;0;0;0
4;0;0;1;0;0;0
3;0;0;0;0;0;0
1;0;0;0;0;1;0
3;0;0;0;0;0;0
4;0;0;1;0;0;0
3;1;1;0;1;0;1
4;0;0;1;0;1;0
1;0;0;1;0;0;0
1;0;0;0;0;0;0
1;1;0;0;0;0;0
4;0;0;0;1;0;0
2;1;0;1;0;0;0
2;0;0;0;0;0;0
4;0;0;0;1;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;1;0;0;0
4;0;0;0;0;1;1
1;0;0;0;0;0;0
1;1;1;1;0;0;0
4;0;0;0;1;0;0
2;1;0;0;0;1;1
3;1;0;1;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;0;0
3;0;0;0;0;0;0
4;1;0;0;0;0;0
3;0;0;0;0;1;0
4;0;0;0;0;1;0
4;0;1;0;0;0;0
4;1;0;0;1;0;0
1;0;0;0;0;0;0
4;1;0;0;0;0;0
2;1;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;1
4;0;1;0;1;0;0
2;0;0;1;0;0;0
3;0;0;0;0;0;0
4;1;0;0;0;0;0
2;0;0;0;0;0;0
2;0;0;0;0;0;0
1;1;1;1;0;0;0
3;1;0;0;0;0;0
1;0;0;0;0;0;0
4;0;1;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;1;0
4;0;0;0;1;0;0
1;0;0;0;0;0;0
3;1;0;0;0;0;0
4;0;0;0;0;0;0
4;1;0;1;0;1;0
1;0;0;1;0;0;0
4;1;0;1;0;0;0
4;0;0;0;0;0;0
4;1;1;0;1;0;0
4;0;0;1;1;0;0
4;0;0;0;0;0;0
3;0;0;0;0;0;0
3;1;1;1;1;0;0
3;0;0;0;0;0;0
4;0;1;1;0;0;1
1;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
3;0;0;0;0;0;0
2;0;0;0;0;1;0
2;0;0;0;0;0;0
2;0;0;0;0;0;0
4;1;0;0;0;0;0
2;0;0;0;0;0;0
2;0;0;0;0;0;0
3;0;0;0;0;0;0
4;0;1;0;0;0;0
2;0;0;0;0;0;1
3;0;0;0;0;0;0
3;0;0;0;0;0;0
4;1;1;0;0;0;0
4;0;0;0;0;0;0
2;0;0;0;0;1;0
4;0;0;0;1;0;0
2;1;0;0;0;1;0
4;0;1;0;0;0;0
3;0;0;0;0;0;0
3;0;0;0;0;0;0
4;0;0;0;1;0;0
4;0;0;0;1;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
3;0;0;0;0;0;0
4;1;0;0;0;0;0
4;1;1;0;0;0;0
4;0;0;0;0;0;0
4;1;0;1;0;0;0
4;0;0;1;0;0;0
4;0;1;0;1;0;0
4;0;0;0;1;0;0
3;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
3;0;0;0;0;0;0
4;1;0;0;1;0;0
3;0;1;0;0;0;0
4;0;0;1;0;0;0
3;0;0;0;0;0;0
3;1;1;0;0;0;1
4;0;0;1;0;0;0
3;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;1;0;0;0;0
4;0;0;1;0;0;0
4;0;0;1;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;1
4;0;0;0;1;0;0
3;0;1;0;0;0;0
4;0;0;0;0;0;0
3;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;1;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;1;1;1;0;0
4;1;1;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;1;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
4;0;0;0;0;0;0
1;0;0;0;0;0;0
3;0;0;0;0;0;0
1;0;0;0;0;0;0
1;0;0;0;0;1;0
1;0;0;0;0;1;0
1;0;0;0;0;0;0
2;1;0;0;0;1;0
1;1;1;0;0;1;0
2;0;0;0;0;0;0
1;0;0;0;0;0;0
1;1;0;0;0;0;0
1;1;0;0;0;0;0
3;0;1;1;0;0;1
1;1;0;0;0;0;0
4;0;0;0;0;1;0
2;0;0;0;0;1;0
1;0;1;0;0;1;0
1;0;0;0;0;0;0
1;0;0;0;0;1;0
1;1;0;0;0;0;0
1;0;0;0;0;0;0
1;1;0;0;0;0;0
2;0;0;0;0;1;1
2;0;0;0;0;0;1
2;0;0;0;0;0;0
1;0;0;0;0;0;1
2;0;0;0;0;0;0
2;0;0;0;0;0;0
2;0;1;1;0;0;0
1;0;0;0;0;0;0
2;0;0;0;0;0;1
1;0;0;0;0;0;0
2;1;0;0;0;1;0
1;0;0;0;0;0;0
3;1;0;0;0;1;0
3;0;0;0;0;0;0
1;1;0;1;0;0;0
2;0;0;0;0;0;0
2;1;0;0;0;1;0
1;0;0;1;0;0;1
3;0;0;0;0;0;1
2;0;0;0;0;0;0
1;1;0;0;0;0;0
1;0;0;0;0;1;0
2;0;1;1;0;0;0
4;0;0;0;0;1;1
1;1;0;0;0;1;0
2;0;0;0;0;0;0
1;0;0;0;0;0;0
3;0;0;0;0;0;0
2;1;0;0;0;1;0
1;0;0;0;0;0;0
2;0;0;0;0;0;0
1;0;0;0;0;0;0
1;0;0;0;0;0;0
3;0;0;0;0;1;0
3;0;0;0;0;0;0
1;0;0;0;0;0;0
4;1;0;0;0;1;0
3;0;0;0;0;1;0
1;0;0;0;0;0;1
2;0;0;0;1;0;0
3;0;0;0;0;1;0
1;0;0;0;0;1;0
2;1;0;0;0;1;0
1;1;0;0;0;0;1
1;0;1;1;0;0;0
1;0;0;0;0;0;0
2;0;0;0;0;1;0
2;1;0;0;0;1;0
2;0;0;0;0;1;0
2;0;0;0;0;0;0
1;0;0;0;0;0;0
4;0;0;0;0;0;0
3;0;0;1;0;1;0
3;0;0;0;0;0;0
2;1;0;0;0;0;1
2;0;0;0;0;0;0
2;1;0;0;0;0;1
1;0;0;1;0;0;0
2;1;0;0;0;1;0
3;1;0;1;0;1;0
1;0;0;0;0;1;0
1;0;0;0;0;1;0
2;0;0;0;0;1;0
1;0;0;0;0;0;0
1;1;0;0;0;0;0
1;1;0;0;0;0;0
2;0;0;0;0;0;0
1;1;0;0;0;1;0
2;1;0;0;0;1;0
2;1;0;0;0;1;0
4;0;0;1;1;0;0
4;0;0;0;0;0;0
Primarily the question is, how to calculate the percentages for each group and each symptom. Thank you :-)
CodePudding user response:
One option would be to compute the counts and percentages manually before passing the data to ggplot()
:
library(ggplot2)
library(tidyr)
library(dplyr)
symptoms %>%
pivot_longer(cols = c(symptom_1, symptom_2, symptom_3, symptom_4, symptom_5, symptom_6), names_to = "name", values_to = "value") %>%
group_by(name, group) %>%
summarise(n = sum(value)) %>%
mutate(pct = n / sum(n)) %>%
ggplot(aes(x = name, y = n, fill = factor(group)))
geom_col()
geom_text(aes(label = scales::percent(pct, accuracy = .1)), position = position_stack(vjust = .5))