gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 09:06:07 24 4
gpt4 key购买 nike

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com