如何正确地将NaN转换为NA

时间:2017-07-28 15:24:46

标签: r nan na

在给定的双向量上,为什么我可以通过

-999定义为NA
v[v == -999] <- NA

但不是

v[v == NaN] <- NA

如何正确地将NaN转换为NA

1 个答案:

答案 0 :(得分:15)

==无法测试NANaN值。这很好,因为从数据的角度来看,两个缺失值可能相同也可能不同。使用is.na()is.nan()来测试这些内容。

你想要的是v[is.nan(v)] <- NA

您可以在?NaN?NA的帮助页面中找到详细信息。

帮助页面上提到了这一点,但值得指出的是NaN被视为特殊类型的NA,因此我们会遇到这种情况:

> is.na(NaN)
[1] TRUE

> is.nan(NA)
[1] FALSE