2017-06-04 99 views
0
> x 
[1] -0.0006993769   NA 0.0605337483 0.0112900315 0.0166747653 0.0498045070 -0.0120633548 0.0034724936 
[9] -0.0107294362 -0.0021350540 -0.0092103916 -0.0369649485 -0.0136530145 -0.0127135534 0.0159644319 -0.0075359604 
[17] 0.0138871055 0.0226605719 -0.0118107427 0.0168362283 -0.0175228517 

> x>0 
[1] FALSE NA TRUE TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE 
[21] FALSE 

> x[x>0] 
[1]   NA 0.060533748 0.011290032 0.016674765 0.049804507 0.003472494 0.015964432 0.013887105 0.022660572 0.016836228 

選擇[x> 0時,NA不想x[x>0],NA爲什麼在這個序列中在X中X

+3

因爲R不知道這是否是'> 0'或不作爲的價值是不可用的。所以它只是按原樣返回。 –

回答

1

使用x[x > 0 & !is.na(x)]選擇來獲得NA。這樣只會選取項,其中x是從NA

+1

@David Arenburg查看原文發表評論 – sigvardsen

+0

@Jason,如果你已經知道怎麼做,爲了強調「爲什麼?」,在你的問題中包含這個解決方案將是有幫助的。你的問題的一部分... –

0

不同,我們可以使用

x[na.omit(x) > 0]