函数定义
f <- function(x) {
x + x*x
}
可以使用
body
,formals
和environment
3种方法进行修改body
> body(f)
{
x + x * x
}
如果我们想使用
body
更改正文> body(f) <- expression({x*x*x})
> f
function (x)
{
x * x * x
}
看到它变了。
形式
如果要使用
formals
将参数更改为(x = 3, y = 6)
> formals(f) <- list(x = 3, y = 4)
> f
function (x = 3, y = 4)
{
x * x * x
}
看到它变了。
但是如果要改为将参数更改为
(x, y)
。显然formals(f) <- list(x, y)
无法使用。任何帮助将不胜感激。
最佳答案
您需要使用alist
:
formals(f) = alist(x =, y =)
alist
根据其未评估的参数构造一个列表。
关于r - 使用正文,形式和环境方法修改R中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40331647/