我有一个意大利面图,上面有这样的数据:
dat <- data.frame(x=rep(1:100,20),
y=rnorm(1000),
z = rep(1:20,each=100))
p <- ggplot(data = dat,aes(x=x,y=y,group=z))
p <- p + geom_line()
p其中每组z都是一个时间序列。我可以绘制一个geom_smooth(),即时间序列的平均值吗?我认为这会奏效的:
datMean <- aggregate(dat$y~dat$x, FUN=mean)
names(datMean) <- c("x","y")
p <- p + geom_smooth(data=datMean)
p但事实并非如此。
为了弄清楚(呃),我想通过原来的情节来画这一行:
ggplot(data = datMean,aes(x=x,y=y)) + geom_smooth()有什么建议吗?
发布于 2017-04-14 06:49:28
它没有工作,因为在datMean中没有z列。将组美学只放在geom_line中。
p <- ggplot(data = dat,aes(x=x,y=y))
p <- p + geom_line(aes(group=z))那么这个电话就能用了
p <- p + geom_smooth(data=datMean)
phttps://stackoverflow.com/questions/43406471
复制相似问题