这个可重复的示例是我的代码的一个非常简化的版本:
x <- c(NaN, 2, 3)
#This is fine, as expected
max(x)
> NaN
#Why does na.rm remove NaN?
max(x, na.rm=TRUE)
> 3
Run Code Online (Sandbox Code Playgroud)
对我来说,NA
(缺失值)和NaN
(不是数字)是两个完全不同的实体,为什么na.rm
删除NaN
?我怎么能忽视NA
而不是NaN
?
ps:我在Windows7上使用的是64位R版本3.0.0.
编辑:
经过一些研究,我发现is.na
返回也是真的NaN
!这是我迷茫的原因.
is.na(NaN)
> TRUE
Run Code Online (Sandbox Code Playgroud)
这是一个语言决定:
> is.na(NaN)
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
is.nan
区分:
> is.nan(NaN)
[1] TRUE
> is.nan(NA)
[1] FALSE
Run Code Online (Sandbox Code Playgroud)
所以你可能需要同时打电话.
归档时间: |
|
查看次数: |
5029 次 |
最近记录: |