R 重新定义 base::mean() 函数以包含 is.finite() 功能

标签 r function mean

我想重新定义均值函数(将其应用到 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/

相关文章:

r - 使 xtable 适合 pdf 文件

r - 如何将度数(列)转换为弧度

javascript - 在 javascript 中,如何从该函数中找出函数的名称?

python - 数据框:添加具有其他列组平均值的列

r - 在 POSIXct 上附加日期时间对象

r - 根据两列的变化创建增量变量

PHP正则表达式删除下划线后的所有内容

c++ - 将 vector 作为函数参数传递

matlab - MATLAB 中的统计异常值检测

javascript - MEAN stack Angular 显示 Express 中的对象,但不显示 HTML