無効値を除外

ヒストグラム区間を設定する際に、無効値(例えば-999.9)が対象データに入っていると、描画時に「xの一部分が数えられていません。多分’breaks'が'x'の範囲全体をカバーしていません」と出る。よって、無効値を含まない状況で対象データを仮に作る必要がある。

> min(ytmp) #データを格納している実数ベクトル
[1] -999.9
> ytmp2 <- ifelse(ytmp<0.5, NA, ytmp) #ifleseは論理値ベクトルに対して元と同じ長さのベクトルを返す
#さらにここでは、0.0と0.01(別のフラグ的意味を持たせている値)も、同時に除く
> min(ytmp2)
[1] NA #無効値からNAへ入れ替わった

ifelseの中では、==や!=による判定は避け、それよりはマージンをもたせて比較する。
区間を決めて、ヒストグラムを描画する。

> kukan = 1:31
> for(i in 1:31) {kukan[i] <- (i-1)*5}
> hist(ytmp2,breaks=kukan,ylab="density",main="station=31735",col="blue1",border=NA)