重新定义函数内部的平均值

时间:2017-02-08 04:20:43

标签: r built-in

我想定义一个函数auto.na(),它重新定义了一整套单变量统计数据,以便添加" na.rm = TRUE"作为默认值。例如,

mean.na <- mean ; mean <- function(...) mean.na(...,na.rm=TRUE)

我本身并不喜欢这样,因为这太沉默是一个重要的变化。因此,我想在我的.Rprofile中定义一个函数来改变许多内置函数的含义:

auto.na <- function() {
   unistats <- c("mean", "sum", "sd", "median", "var", ...)
   for (u in unistats)
       paste0(u,'.na') <<- u ; u <<- function(..., na.rm=TRUE)
}

然后,我再也不必添加&#34; na.rm = TRUE&#34;。好主意,执行不好。这对于重新引用失败,并且像它这样的版本失败并出现错误,我无法更改锁定绑定的值。这很容易吗?

建议表示赞赏。 / IAW

PS:幸运的是,有些功能如摘要和lm不需要添加,因为它们已经是na忽略者。可以说,这个设施并不完全不一致。

0 个答案:

没有答案