Rでよくひっかかる、NAやlogical(0)、そのほかエラーの取り扱い

よく困って忘れたりするので、ここに気づいたことをメモしていきたいと思います。

関連するR-jpwiki など
http://cse.naro.affrc.go.jp/takezawa/r-tips/r/18.html
http://r.livedocs.net/vector/nan.html


is.na()でNAを操作できないこと、
logical(0)は対応が難しいが、length()などで対応

行列の場合のNA対応
rowMeans(x, na.rm=TRUE)など、rowSums(!is.na(x))
http://www.okada.jp.org/RWiki/?%BD%E9%B5%E9%A3%D1%A1%F5%A3%C1%20%A5%A2%A1%BC%A5%AB%A5%A4%A5%D6(9)#s0a06574

Zooパッケージによる補間方法 na.locfやna.approx
http://d.hatena.ne.jp/teramonagi/20111201/1322686548

全部一括して置換、
df[is.na(df)] <- 0

ベクトルだと
ifelse(is.na(a), 0, a) なども可

あとはis.finit()とかもあり。

for文で出力されない・・・

spplotでは画像としてfor文で出力するにはprintをつけてあげる。
下でLatticeを使っているのでそれがfor文だと表示オフになってしまう。
png(filename=...)
print(spplot(...))
dev.off()