2012年10月14日日曜日

R: グラフの誤差範囲(標準偏差)をグレー表示

Rでグラフを作る際、エラーバーの代わりにグレーで視覚化する。
例えば、5サンプルのグラフ。


標準偏差をグレー表示


# インデックスは10。
len <- 10

# 5サンプルのデータを適当につくる。平均値は10。
a <- rnorm(len,10,1)
b <- rnorm(len,10,1)
c <- rnorm(len,10,1)
d <- rnorm(len,10,1)
e <- rnorm(len,10,1)

# 行列にする
main.table <- rbind(a,b,c,d,e)

# 平均と標準偏差を計算する
main.mean <- apply(main.table,2,mean)
main.sd <- apply(main.table,2,sd)

# ポリゴンのx座標とy座標をつくる
x <- 1:len
poly.x <- c(x,rev(x))
poly.y <- c(main.mean+main.sd,rev(main.mean-main.sd))

# プロットする。最初はデータを入れずy軸はエラー分の余裕をつくる。
# ポリゴンを入れる。グレーで埋めて、輪郭線は消す。
# 線をプロットする。
plot(main.mean,type="n",ylim=c(min(main.mean)-max(main.sd),max(main.mean)+max(main.sd)),)
polygon(poly.x,poly.y,col="gray",lty=0)
lines(main.mean,lwd=2)

# 別ウィンドウで個別データをプロット
quartz("each")
plot(main.table[a],type="n",ylim=c(min(main.mean)-max(main.sd),max(main.mean)+max(main.sd)),)
lines(main.table[a])
lines(main.table[b])
lines(main.table[c])
lines(main.table[d])
lines(main.table[e])



0 件のコメント:

コメントを投稿