具有多个虚拟变量的饼图

Pie chart with multiple dummy variables

假设有 4 个人和 3 个组(A、B、C),1 表示它属于组 X,其他情况下为 0。假设我们有一个这样的数据库:

# A  B  C
1 0  0  1
2 0  1  0
3 1  0  0
4 1  0  0

我想做的是一个包含每个组的饼图。

我正在尝试的代码是

ggplot(data, aes(x="", y=data$A)) +
  geom_bar(stat="identity", width=1) +
  coord_polar("y", start=0)

然而它只绘制了一个变量的饼图。 谢谢

我认为这段代码执行了您想要的情节。在制作情节之前,我使用 pivot_longer 进行了一些重新编码。

library(tidyverse)
df %>%
  pivot_longer(cols = c(A,B,C),
               names_to = "group",
               values_to = "people") %>%
  group_by(group) %>%
  summarize(Sumppl = sum(people)) %>%
  ggplot(aes(x="", y = Sumppl, fill = group)) +
  geom_bar(stat = "identity",width = 1, position = "stack")+
  coord_polar("y") + 
  theme_minimal()+
  theme(axis.text.x=element_blank())

我认为您需要先旋转 df:

df  <- data.frame(ID = c(1, 2, 3, 4),  A = c(0, 0, 1, 1), B = c(0, 1, 0, 0), C = c(1, 0, 0, 0)) 

df  %>% 
      pivot_longer(2:4, names_to = "group", values_to = "value") %>% 
      ggplot(aes(x="", y=value, fill=group))+
      geom_bar(width = 1, stat = "identity")+
      coord_polar("y", start=0)