如何正确地将NaN转换为NA

Com*_*gle 5 r nan na

在给定的双载体,为什么我可以定义-999NA通过

v[v == -999] <- NA
Run Code Online (Sandbox Code Playgroud)

但不是

v[v == NaN] <- NA
Run Code Online (Sandbox Code Playgroud)

以及如何正确转换NaNNA

Gre*_*gor 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
Run Code Online (Sandbox Code Playgroud)