我想知道是否有我忽略的强制设置 R
返回 NaN
而不是 ± Inf
除以零时。
我经常发现自己在做类似的事情
results[is.infinite(results)] <- NaN
我希望完全跳过过滤/搜索过程。
例子:
### Example:
num <- c(1:5, NA)
denom <- -2:3
quotient <- num / denom
[1] -0.5 -2.0 Inf 4.0 2.5 NA
# desired results
[1] -0.5 -2.0 NaN 4.0 2.5 NA
实现预期结果的简单方法是:
quotient[is.infinite(quotient)] <- NaN
我想知道是否可以避免最后一步,同时仍然获得相同的预期结果。
最佳答案
我会改变我的谓词而不是试图重新定义数学:
R> is.finite(c(Inf, NA, NaN))
[1] FALSE FALSE FALSE
R> is.infinite(c(Inf, NA, NaN))
[1] TRUE FALSE FALSE
R> is.na(c(Inf, NA, NaN))
[1] FALSE TRUE TRUE
R>
关于r - 强制除以零默认为 NaN 而不是 Inf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18881032/