【发布时间】:2020-02-29 16:31:03
【问题描述】:
注意到如果矩阵中所有值都缺失,则均值和中位数分别给出 NA 和 NaN,
例如,
x<-as.matrix(c(NA, NA, NA))
apply(x,2, mean, na.rm = TRUE)
> apply(x,2, median, na.rm = TRUE)
[1] NA
> apply(x,2, mean, na.rm = TRUE)
[1] NaN
想知道这可能是什么原因,如果我只检查 is.na() 进行过滤,它是否会对下游产生影响?因为我看到 is.na() 一直都是 TRUE:
> is.nan(apply(x,2, median, na.rm = TRUE))
[1] FALSE
【问题讨论】:
-
这不是真正的
apply问题。mean(c(NA, NA, NA), na.rm = TRUE)将提供NaN而median(c(NA, NA, NA), na.rm = TRUE)将提供NA