определение функции
f <- function(x) {
x + x*x
}
3 способа, т.е. body
, formals
и environment
могут быть использованы для модификации
Тело
> 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)
не будет работать.
Любая помощь будет оценена.