R 带有并排两个数据帧中的两个变量的条形图

R 带有并排两个数据帧中的两个变量的条形图,r,plot,ggplot2,R,Plot,Ggplot2,我有两个数据框,其中包含两次调查的结果: DF1 <- data.frame(V1 = factor(c("Option1", "Option2", "Option1", "Option2")), ID1 = factor(c("Resp1", "Resp1", "Resp3", "Resp4"))) DF2 <- data.frame(V1 = factor(c("Option1", "Option1", "Option2", "Option1

我有两个数据框,其中包含两次调查的结果:

DF1 <- data.frame(V1 = factor(c("Option1", "Option2", "Option1", "Option2")),
                  ID1 = factor(c("Resp1", "Resp1", "Resp3", "Resp4")))

DF2 <- data.frame(V1 = factor(c("Option1", "Option1", "Option2", "Option1", "Option2")),
                  ID2 = factor(c("PersonA", "PersonB", "PersonC", "PersonD", "PersonE")))
或使用ggplot:

library(ggplot2)
ggplot(DF1, aes(V1, 1))+
  geom_bar(stat = "identity")+
  theme(axis.text.x = element_text(angle = 90, hjust = 1),
        text = element_text(size=10))
ggplot(DF2, aes(V1, 1))+
  geom_bar(stat = "identity")+
  theme(axis.text.x = element_text(angle = 90, hjust = 1),
        text = element_text(size=10))

但我希望有一个绘图,在两个数据帧中并排显示V1的内容(在单个绘图中)。如何做到这一点?

一般的策略是汇总数据并将其放在同一个data.frame中,然后使用“按填充、颜色等分开”

DF1 <- DF1 %>% group_by(V1) %>% summarize(DF="DF1", n=n())
DF2 <- DF2 %>% group_by(V1) %>% summarize(DF="DF2", n=n())
DF <- rbind(DF1, DF2)
ggplot(DF, aes(x=V1, y=n, fill=DF)) + geom_bar(stat="identity", position="dodge")
DF1%分组依据(V1)%>%summary(DF=“DF1”,n=n())
DF2%分组依据(V1)%>%汇总(DF=“DF2”,n=n())

DF一般的策略是汇总数据并将其放在同一数据框中,然后使用填充、颜色等分开

DF1 <- DF1 %>% group_by(V1) %>% summarize(DF="DF1", n=n())
DF2 <- DF2 %>% group_by(V1) %>% summarize(DF="DF2", n=n())
DF <- rbind(DF1, DF2)
ggplot(DF, aes(x=V1, y=n, fill=DF)) + geom_bar(stat="identity", position="dodge")
DF1%分组依据(V1)%>%summary(DF=“DF1”,n=n())
DF2%分组依据(V1)%>%汇总(DF=“DF2”,n=n())

这是有效的。非常感谢。一个意想不到的副作用(有点超出了原始问题的范围)是,虽然我的示例中的图(以及应用于实际数据的类似图)隐藏了NAs,但使用代码编写的图显示了NAs。您知道为什么会出现这种情况/如何从绘图中删除NAs?您可以通过
DF%filter(!is.na(n))
将NAs从数据中删除。非常感谢。一个意想不到的副作用(有点超出了原始问题的范围)是,虽然我的示例中的图(以及应用于实际数据的类似图)隐藏了NAs,但使用代码编写的图显示了NAs。您知道为什么会出现这种情况/如何从绘图中删除NAs?您可以通过
DF%filter(!is.na(n))