web-dev-qa-db-ja.com

R:既存のプロットに平均線を追加します

私はggplotを使用してプロットでRShinyアプリケーションを実行しました。

ここで、既存のプロットに平均線を追加します。

library(ggplot2)

A <- c(1:10)
B <- c(1,1,2,2,3,3,4,4,5,5)

donnees <- data.frame(A,B) 
datetime<-donnees[,2]
Indcatotvalue<-donnees[,1]
df<-donnees

mn<-tapply(donnees[,1],donnees[,2],mean)
moyenne <- data.frame(template=names(mn),mean=mn)

ggplot(data=df,
   aes_q(x=datetime,
         y=Indcatotvalue)) + geom_line() 

追加しようとしました:

geom_line(aes(y = moyenne[,2], colour = "blue"))

または:

lines(moyenne[,1],moyenne[,2],col="blue")

しかし、何も起こりません:(関数「行」については特にわかりません。

回答ありがとうございます...

8
Flo

平均線と言うときは、Yの平均値(Indcatotvalue)を表す線をプロットすることを想定しています。そのためには、グラフに水平線をプロットするgeom_hline()を使用します。

ggplot(data=df,aes_q(x=datetime,y=Indcatotvalue)) +
  geom_line() +
  geom_hline(yintercept = mean(Indcatotvalue), color="blue")

あなたが与えた例の数値で、これはあなたにこのようなプロットを与えるでしょう:

plot with stepped with average line

9
Simon

私はこのページで答えを見つけました:

groups.google.com/forum/#!topic/ggplot2/vd5n1jR9k4

ここでは関数stat_summaryが最適です。

1
Flo