NA処理


邪魔な欠損値をどう処理するか

ベクトルとしてうまく操作して
やつらを回避したデータを取り出す


  • dataBoxの二列目がNAじゃないベクトルを取り出す

> data<-dataBox[!is.na(dataBox[,2]),]


  • データNAを0に置き換える

> x<-c(0,1,NA,1,0,NA,1)
> c<-ifelse(is.na(x),0,x)
[1] 0 1 0 1 0 0 1

ifelse()は
ifelse(条件式,TRUEの場合に返す値,FALSEの場合に返す値)


  • NAを含む行を削除する

> na.omit(x)
[1] 0 1 1 0 1
attr(,"na.action")
[1] 3 6
attr(,"class")
[1] "omit"

> x2<-cbind(x,x)
> na.omit(x3)
x x
[1,] 0 0
[2,] 1 1
[3,] 1 1
[4,] 0 0
[5,] 1 1
attr(,"na.action")
[1] 3 6
attr(,"class")
[1] "omit"