【发布时间】:2015-10-30 11:25:13
【问题描述】:
我想覆盖 R 中的某些函数,为它们添加功能或修改它们的行为。例如,我无法忍受对于 min、max、mean、sd 和其他人来说,na.rm 参数默认为 false,或者如果你在一个因子上运行 as.numeric,它不会解析级别文本而是解析级别标识符。
所以我想重写它:
as.numeric <- function(x) {
if(is.numeric(x)) return(x)
if (is.factor(x)) x <- as.vector(x)
as.numeric(x)
}
不幸的是,这触发了无限递归(当然)。我该如何解决这个问题?
【问题讨论】:
-
你为什么不用别的名字?
标签: r function recursion overriding