R 如何将来自不同数据集的打印图层连接到一个打印-ggplot2?

R 如何将来自不同数据集的打印图层连接到一个打印-ggplot2?,r,ggplot2,R,Ggplot2,我有三个数据集,它们是三个不同的bird集合,我试图将测试结果合并到一个图中。每个都是这样的: 例如: library(ggplot2) beta1<-c(0.714286,0.625,0.72973,0.5625,0.733333,1,0.655172,0.92,0.769231,0.586207,0.724138,0.846154, 0.833333,0.76,1) group<-rep(c("q0", "q1", "q2"), each = 5) beta2<-c(1.

我有三个数据集,它们是三个不同的bird集合,我试图将测试结果合并到一个图中。每个都是这样的:

例如:

library(ggplot2)
beta1<-c(0.714286,0.625,0.72973,0.5625,0.733333,1,0.655172,0.92,0.769231,0.586207,0.724138,0.846154,
0.833333,0.76,1)
group<-rep(c("q0", "q1", "q2"), each = 5)

beta2<-c(1.714286,1.625,1.72973,1.5625,1.733333,1,1.655172,1.92,1.769231,1.586217,1.724138,1.846154,
1.833333,1.76,1)


dados1<-data.frame(beta1, group)
dados2<-data.frame(beta2, group)

p1<-ggplot(data=dados1, aes(x=group, y=beta1)) +
  stat_summary(fun.y=mean, geom="line", aes(group=1))  + 
  stat_summary(fun.y=mean, geom="point")+ylim(0,2)

p2<-ggplot(data=dados2, aes(x=group, y=beta2)) +
  stat_summary(fun.y=mean, geom="line", aes(group=1))  + 
  stat_summary(fun.y=mean, geom="point")+ylim(0,2)

但仍然不够,因为无法绘制线条…

所以我认为这将大致满足您的需求。我们只需将
beta1
beta2
组合在1
data.frame
中,并绘制:

dados1 <-data.frame(beta = beta1, group, id = "beta1")
dados2 <-data.frame(beta = beta2, group, id = "beta2")

df <- rbind(dados1, dados2)

ggplot(df, aes(group, beta, colour = id, group = id)) +
  stat_summary(fun.y=mean, geom="line")  + 
  stat_summary(fun.y=mean, geom="point") + 
  ylim(0,2)

dados1此外,我还解决了我的另一个问题:“如果我想用箱线图做同样的事情,我该怎么做?”

我试过这个: 1.循序渐进的teunbrand(以上答案)


谢谢你们

每个
stat\u summary()
调用都可以使用
data=
参数。只需继续添加到相同的
ggplot
对象,但数据源不同。或者更好的方法是,在打印之前将数据与指示符变量结合起来。在寻求帮助时,您应该包括一个简单的示例输入和所需的输出,可用于测试和验证可能的解决方案。(数据图片不可复制)嗨,Flick先生,谢谢你的建议。我试着用stat summary一层一层地添加,但行连接不起作用。但我可以合并两个测试结果(仅作为平均点)。我会继续找的。嗨,特恩布兰德。谢谢你的帮助!我可以早点做,但我睡着了。我的解决方案非常相似。我使用excel,把一个列命名为“region”,然后再次输入我的数据,结果与您的有所不同。但你的解决方案更“干净”。我可以自己解决其他问题。
dados1 <-data.frame(beta = beta1, group, id = "beta1")
dados2 <-data.frame(beta = beta2, group, id = "beta2")

df <- rbind(dados1, dados2)

ggplot(df, aes(group, beta, colour = id, group = id)) +
  stat_summary(fun.y=mean, geom="line")  + 
  stat_summary(fun.y=mean, geom="point") + 
  ylim(0,2)
dados1 <-data.frame(beta = beta1, group, id = "beta1") 
dados2 <-data.frame(beta = beta2, group, id = "beta2")

 df <- rbind(dados1, dados2)
ggplot(df, aes(group, beta, colour = id, facet_grid= id))+ geom_boxplot()