我想创建一个多列饼图。这个有点不寻常的星座对于评估大型调查是必要的。答案总是是/否,有几列与是/否重叠,所以简单地合并它们会改变陈述。最后,每个相关列总共需要绝对数量的肯定答案。
#示例表:
x <- read.csv2(file = textConnection("a;b;c;d
yes;no;yes;no
no;no;yes;no
no;no;yes;no
no;yes;no;no
no;yes;no;no
no;no;no;yes
no;no;no;yes
no;no;yes;yes
no;no;yes;yes
no;yes;yes;no
yes;yes;no;no
yes;yes;no;no
yes;yes;no;no
yes;yes;yes;no
yes;no;yes;no
yes;no;yes;yes
yes;no;yes;yes
no;no;no;yes
no;no;no;no
no;no;no;no
no;no;yes;no
no;no;yes;no
yes;no;no;no
yes;no;no;no"))
最后,应该有一个饼图以百分比显示 a 的是的数量 (x%),b 的是的数量 (y%)...等等。
提前感谢您的帮助。
这显示了每列“是”的绝对数量。
library(dplyr)
library(tidyr)
library(ggplot2)
x %>%
pivot_longer(cols = everything()) %>%
summarise(res = sum(value == "yes"), .by = name) %>%
ggplot(aes(x="", y=res, fill=name)) +
geom_bar(stat="identity", width=1) +
coord_polar("y", start=0) +
geom_text(aes(label = res), position = position_stack(vjust = 0.5),
color = "white", size=6) +
scale_fill_brewer(palette="Set1") +
theme_void()