5
我有下面的代碼比較na.omit和complete.cases:時使用na.omit與complete.cases
> mydf
AA BB
1 2 2
2 NA 5
3 6 8
4 5 NA
5 9 6
6 NA 1
>
>
> na.omit(mydf)
AA BB
1 2 2
3 6 8
5 9 6
>
> mydf[complete.cases(mydf),]
AA BB
1 2 2
3 6 8
5 9 6
>
> str(na.omit(mydf))
'data.frame': 3 obs. of 2 variables:
$ AA: int 2 6 9
$ BB: int 2 8 6
- attr(*, "na.action")=Class 'omit' Named int [1:3] 2 4 6
.. ..- attr(*, "names")= chr [1:3] "2" "4" "6"
>
>
> str(mydf[complete.cases(mydf),])
'data.frame': 3 obs. of 2 variables:
$ AA: int 2 6 9
$ BB: int 2 8 6
>
> identical(na.omit(mydf), mydf[complete.cases(mydf),])
[1] FALSE
是否有其中一方或另一方應使用任何情況或有效它們是相同?
想必如果您想保留有關省略觀察的信息,即「na.action」屬性中給出的內容。或者'complete.cases'返回一個邏輯向量的事實意味着如果您只關心第一列中的NA值,您可以像'mydf [complete.cases(mydf [,1]),]''做類似的事情。 – nrussell 2015-04-06 13:59:24
兩個很好的理由。這可能是一個答案,而不僅僅是一個評論。 – rnso 2015-04-06 14:52:07
謝謝,完成了。 – nrussell 2015-04-06 15:30:33