我在R中是全新的,所以也许这个问题的答案是微不足道的,但我在网上搜索了几天后找不到任何解决方案。
我正在使用ggplot2创建包含我的样本平均值的图表,并在功能区中显示置信区间(我无法发布图片,但是这样的内容:S1
我的数据框(df)在第一列中有时间,而在其他列中测量的变量值(每列是测量的重复)。 我做了以下事情:
mdf<-melt(df, id='time', variable_name="samples")
p <- ggplot(data=mdf, aes(x=time, y=value)) +
geom_point(size=1,colour="red")
stat_sum_df <- function(fun, geom="crosbar", ...) {
stat_summary(fun.data=fun, geom=geom, colour="red")
}
p + stat_sum_df("mean_cl_normal", geom = "smooth")
我得到了我在开头展示的图表。
我的问题是:如果我有两个不同的数据框,每个数据框具有不同的变量,同时在同一个样本中测量,我如何在同一个图中绘制2个图?我尝试过的所有内容都以两组数据中的统计数据结束,或者仅在其中一组中进行统计,而不是两者都有。是否可以叠加图?
还有第二个小问题:是否可以改变色带的颜色?
谢谢!
答案 0 :(得分:2)
类似的东西:
library(ggplot2)
a <- data.frame(x=rep(c(1,2,3,5,7,10,15,20), 5),
y=rnorm(40, sd=2) + rep(c(4,3.5,3,2.5,2,1.5,1,0.5), 5),
g = rep(c('a', 'b'), each = 20))
ggplot(a, aes(x=x,y=y, group = g, colour = g)) +
geom_point(aes(colour = g)) +
geom_smooth(aes(fill = g))
我建议你阅读ggplot的基础知识。请查看?ggplot2
以获取有关ggplot的帮助,还可查看可用的帮助主题here,尤其是group aesthetic如何操作。
您会发现Google小组中的discussion group很有用,也许可以加入。此外,QuickR在ggplot graphs上有很多示例,很明显,在Stackoverflow上有here。