2017-04-14 66 views
0

我有一个像这样的数据的意大利面条情节:geom_smooth忽略组?

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 

但它没有。

要清楚(ER),我想通过原创情节这条线:

ggplot(data = datMean,aes(x=x,y=y)) + geom_smooth() 

有什么建议?

+0

'ggplot(数据= DAT,AES(X,Y))+ geom_line(AES(组= Z))+ geom_smooth()' – alistaire

回答

1

它没有工作,因为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) 
p 
+0

Perect。谢谢。 – user4100013