如果在其他地方已经回答了我的道歉。我在R中定义了两个函数,然后将它们嵌套,效果很好。现在我想通过更改第二个函数中的变量来评估这两个嵌套函数。我尝试为更改变量创建list
,然后使用lapply
评估每个元素,但我收到了错误。
我的代码看起来像这样:
# First function
FirstFun <- function(a, b, c, d) {
answer1 <- (a + b)/(1-(0.2*(c/d))-(0.8*(c/d)^2))
return(answer1)
}
# First function evaluated
FirstFun(13,387,1728,1980)
# Second function
SecondFun <- function(answer1,c,d) {
answer2 <- answer1*(1-(0.2*(c/d))-(0.8*(c/d)^2))
return(answer2)
}
# Nested function evaluated
SecondFun(FirstFun(13,387,1728,1980),1728,1980)
# Nested function evaluated with elements of a list
c <- list(0:1980)
lapply(c, SecondFun(FirstFun(13,387,1728,1980),c,1980))
答案 0 :(得分:0)
如果我正确地站着你 - 你正在寻找:
SecondFun(FirstFun(13,387,1728,1980),0:1980,1980)
或者这个:
SecondFun(FirstFun(13,387,1728,0:1980),0:1980,1980)
都返回长度为1981的数字向量。
2件事 - 1.无需列表。范围可行。 2.调用变量'c'是一个坏主意..... c保留