我想重新定义均值函数(将其应用到 tabular() 表中),以便它忽略某个变量的所有 NA、NaN 和 Inf 观测值。我不想删除整行(观察),而是让平均公式简单地计算所有不是 NA、NaN、Inf 的值的平均值。
Mean.new <- function(x) base::mean(x, na.rm=TRUE)
据我所知,标准 mean() 中的 na.rm=TRUE 是否只删除 NA,而不是 NaN 和 Inf。
因此,我如何在上面的代码中添加检查 is.finite() 的功能(这将排除所有 NA、NaN、Inf)?
谢谢你,最好的,
软木塞
最佳答案
尝试:
mean_new <- function(x) {mean(x[is.finite(x)])}
mean_new(c(NA,Inf,NaN,1,2))
[1] 1.5
关于R 重新定义 base::mean() 函数以包含 is.finite() 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66400464/