我遇到了一个问题,将两个函数一起添加到R中的新函数。例如,fun_1< -function(w)... fun_2< -function(w)...现在我需要一个有趣的功能( w)= fun_1(w)+ fun_2(w)我该怎么做?
答案 0 :(得分:2)
您可以将get
与envir = parent.frame()
一起使用,只需使用paste
指定功能名称。
# define functions
for(i in 1:100) assign(paste0('fun',i), function(w) (-i/100)^2+exp(w) )
# sum them
sum.fun <- function(x){
out <- 0
for(i in 1:100){
fun <- get(paste0('fun',i), envir = parent.frame())
out <- out + fun(x)
}
out
}
sum.fun(2)
答案 1 :(得分:1)
fun_1 <- function(x){
x ^ 2
}
fun_2 <- function(x){
x + 1
}
fun_3 <- function(x){
fun_1(x) + fun_2(x)
}
fun_3(1)
返回3
k <- NA
fun <- function(w){
for (i in 1:100){
k[i] <- (-i/100)^2 + exp(w)
}
sum(k)
}
fun(1)
返回305.6632