-3

私はマトリックスを持っており、四分位範囲の垂直エラーバーとマトリックスの列ごとの平均をプロットしたいと考えています。R、特にggplot2でこれを行うにはどうすればよいですか? サンプル マトリックスを以下に示します。

 ##Create matrix
 B = matrix (c(2,4,3,1,5,7,5,3,8,3,7,3),nrow=4,ncol=3) 
 ##Create zoo object
 B2<-as.zoo(B)
 colnames(B2)<- c("A","B","C")

 B2
          A B C
          2 5 8
          4 7 3
          3 5 7
          1 3 3
##The Dates for the columns:
Date<-as.yearmon (seq(as.Date("2000/1/1"), by = "month", length.out = 3))

時系列プロットが必要ですが、タイムスタンプごとに行ベースの垂直 IQR エラー バーがあります。ここに私が達成しようとしている結果のサンプルがあります' ただし、x 軸に町を配置するのではなく、行 ID または日付を配置します。 ここに画像の説明を入力

4

1 に答える 1

3

私はこれで長い道のりを歩かなければならなかったので、これが私がしたことです(25%と75%のパーセンタイルを使用):

##Create matrix
B = matrix (c(2,4,3,1,5,7,5,3,8,3,7,3),nrow=4,ncol=3) 
##Create dataframe
B2<-as.data.frame(B)
colnames(B2)<- c("A","B","C")
##Create date sequence
##To compute quantile by row
D<-apply(B2,2,quantile)
##Select 1st and 3rd quartile (25% and 75%) and transpose to make them columns.
D2<-t(D[c(2,4),])
##Mean
CO<-apply(B2,2,mean)
DM<-as.data.frame(cbind(D2,CO))
##Create dates
Date<-as.character(as.yearmon (seq(as.Date("2000/1/1"), by = "month", length.out = 3)))
##Add to dataframe 
DM$Date<-Date
colnames(DM)<-c("Q1","Q3","CO","Date")

##Plot using ggplot2 
library(ggplot2) 
ggplot(DM, aes(x=Date, y=CO,group=1,colour="CO")) + 
geom_errorbar(aes(ymin=Q1, ymax=Q3), width=.1) +
    geom_point(size=3) +
geom_line(aes())  

各月の平均を時系列線で結んだ結果は次のとおりです。 ここに画像の説明を入力

アイデアがあれば、これを行う簡単な方法を気にしません。

于 2016-03-24T00:48:34.207 に答える