在R中叠加两个qplots(平滑和置信区间)

时间:2017-08-30 08:22:08

标签: r spline confidence-interval

我想绘制两组数据并显示数据,每组的平滑度和置信区间,但两组都在一个图表中。

plotdata <- data.frame(x=1:10, y1=runif(10, min=0, max=10), y2=runif(10, min=10, max=20))
qplot(x, y1, data=plotdata, geom=c("point", "smooth"), method="rlm")
qplot(x, y2, data=plotdata, geom=c("point", "smooth"), method="rlm")

有没有办法结合这两个qplots或提取qplot信息并用ggplot绘制它? 到目前为止我找到的所有解决方案仅适用于单线,点等,但不适用于置信区间。谢谢!

1 个答案:

答案 0 :(得分:2)

您可以使用包gather中的tidyr将数据框转换为长格式。此新数据框适合与ggplot一起使用。

library(tidyr)
library(ggplot2)
library(MASS)

pd <- gather(plotdata, set, value, -x)

ggplot(pd, aes(x = x, y = value, colour = set, shape = set)) +
  geom_point() +
  geom_smooth(method = rlm)

该图显示y1y2的数据。

enter image description here