是否可以包装 R 函数来修改其功能?
这是一个玩具示例来解释我的意思。考虑这个函数sum2
:
sum2 <- function (x) if (length(x) == 1) { cat(x); sum(x) } else sum(x)
它做了什么sum
,只做了微小的修改。假设我想重新定义sum
自己来做sum2
这里的事情。在不了解我要包装的函数的内部结构的情况下,如何以一般方式执行此操作?
我想这样做是为了临时“修复”一个包功能,而不必修改和重新安装包。我想检查它的输入并返回一个特殊值,以防输入满足某些条件。
(对于那些对 Mathematica 非常熟悉的人,我正在寻找类似于Gayley-Villegas 技巧的东西。)