2017-04-14 80 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