R考虑NA,检查分类变量值

时间:2018-01-24 17:21:26

标签: r

要检查分类变量是否具有多个值之一,我会使用%in%,但是,这不会处理NAs,而是返回FALSE

例如:

foo <- c('a', 'b', NA, 'c')
foo %in% c('a', 'c')

返回TRUE FALSE FALSE TRUE,当人们可能希望它返回TRUE FALSE NA TRUE时,因为许多其他布尔语句(==>)返回NA的情况下其中一个值是。

有没有更好的方法来实现此NA行为,而无需手动检查每种可能性?即。

foo == 'a' | foo == 'c'

1 个答案:

答案 0 :(得分:1)

filename: [name].min.js

OR

replace(foo %in% c('a', 'c'), is.na(foo), NA)
#[1]  TRUE FALSE    NA  TRUE