在 R 中叠加两个 qplots(平滑和置信区间)
overlay two qplots (smoother and confidence intervals) in R
我想绘制两组数据并显示数据、每组的平滑度和置信区间,但两组都在一张图中。
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 绘制它?
到目前为止我找到的所有解决方案都只适用于单线、点等,而不适用于置信区间。谢谢!
你可以用ggplot绘制相同的图
例如:第一个情节:
plotdata %>% ggplot( aes(x, y1)) + geom_point() + geom_smooth(method = "rlm")
从现在开始你可以玩更灵活的 ggplot
您可以使用包 tidyr
中的 gather
将数据框转换为长格式。这个新数据框适合与 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)
该图显示了 y1
和 y2
的数据。
我想绘制两组数据并显示数据、每组的平滑度和置信区间,但两组都在一张图中。
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 绘制它? 到目前为止我找到的所有解决方案都只适用于单线、点等,而不适用于置信区间。谢谢!
你可以用ggplot绘制相同的图
例如:第一个情节:
plotdata %>% ggplot( aes(x, y1)) + geom_point() + geom_smooth(method = "rlm")
从现在开始你可以玩更灵活的 ggplot
您可以使用包 tidyr
中的 gather
将数据框转换为长格式。这个新数据框适合与 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)
该图显示了 y1
和 y2
的数据。