如何在R中为新函数添加两个函数

时间:2017-09-14 20:23:54

标签: r

我遇到了一个问题,将两个函数一起添加到R中的新函数。例如,fun_1< -function(w)... fun_2< -function(w)...现在我需要一个有趣的功能( w)= fun_1(w)+ fun_2(w)我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以将getenvir = 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