Я пытаюсь отредактировать функцию с использованием функций body
и substitute
в R. Я хочу построить новую строку для функции из строки и после этого подставить ее в функцию.
Полагаю, мне нужно преобразовать строку в определенный класс, который substitute
может вычислить и передать в функцию.Но как мне это сделать?
Ниже приведен пример того, что я хочу:
myFun <- function(x) {
A1 <- 1
A2 <- 10
A1 <- x^2 + A2 # Line to be changed
return(A1 + A2)
}
n <- 2
m <- 1
express_string <- paste0("A", n, " <- x^2 + A", m)
body(myFun)[[4]] <- substitute( express_string ) # This is the tricky part.
Вот как я хочу, чтобы функция выглядела в конце:
myFun <- function(x) {
A1 <- 1
A2 <- 10
A2 <- x^2 + A1 # New line
return(A1 + A2)
}