我有三个我无法真正使用的数据框rbind
或cbind
. 他们共享存储人口名称的“Pop.Name”列。人口名称在三个 dfs 中很常见。
我正在尝试使用 ggplot2 来计算(stat="bin"
)每个数据框中每个人口的案例数,并绘制它,以便我对每个 df 和每个人口都有不同的条形图。基本上我想比较每个人口的计数数据,就像我在单个 df 中处理的 dfs 一样geom_bar(position="dodge")
。
要单独绘制一个 df 我正在使用:
plt<- ggplot(df1, aes(x=Pop.Name)) + theme_bw() # plot by pop
plt<- plt + geom_bar()
如何将其他两个 dfs 添加到同一个图中?我敢肯定这很简单,我错过了一些东西,但不知道是什么。我试过了:
plot1 <- ggplot(df1, aes(x=Pop.Name)) +
geom_bar() +
geom_bar(data = df2)
还有许多其他人,但我要么得到错误,要么每个弹出窗口只有一个栏。如果这是重复的,我非常抱歉,但我认为不是。但是,我的问题与此非常相似:ggplot 从 2 个单独的数据帧堆叠条形图,但我不能rbind
或cbind
数据帧(至少不是以直截了当的方式,而且每个数据帧都很大)。
谢谢
一些玩具数据:
df1<-structure(list(Pop.Name = c(1, 2, 3, 4, 3, 2, 1, 2, 3, 4), Loc = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 3L, 3L, 3L, 3L), .Label = c("a", "c", "d" ), class = "factor"), BP = c(10, 10, 10, 10, 50, 21, 33, 8, 8, 8)), .Names = c("Pop.Name", "Loc", "BP"), row.names = c(NA, -10L), class = "data.frame")
df2<-structure(list(Pop.Name = c(3, 2, 3, 4, 3, 2, 1), A = structure(c(1L, 1L, 1L, 1L, 1L, 2L, 3L), .Label = c("x", "y", "z" ), class = "factor"), C = c(11, 11, 11, 10, 50, 21, 3)), .Names = c("Pop.Name", "A", "C"), row.names = c(NA, -7L), class = "data.frame")