在R中子集数据时生成NA

时间:2019-01-18 11:28:27

标签: r filter subset na

我遇到了这个问题,这使我发疯。我尝试使用以下命令在R中过滤数据:

data <- data[data$v1 != "T",]

此功能可以将过滤后的数据包含所需的行数。但是,由于“ v1”包含NA,因此所有在过滤之前具有v1 = NA的观测值现在仅由所有列中的NA组成。

有人知道为什么会这样吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

NA与实际值不具有可比性。对于NA,“答案等于” T”的答案是idk,因此整行变为NA。避免这种情况的方法是按照@akrun的建议排除NA,或者如果希望保留这些行则显式查找NA:

data[data$v1 != "T" | is.na(data$v1),]