【发布时间】:2019-09-20 15:17:10
【问题描述】:
我在 R 中有一个函数,比如说
f1
...
...
...
返回(出)
}
这个函数f1中的参数func0和vec分别是函数对象和一些向量对象。现在我想重复这个功能'reps'次(其他一切都一样)。我已将此函数的参数存储在一个列表中,因为有很多参数,我不断更改它们以再次进行复制。
list1
那我想做, f1_reps
执行此操作时出现错误,因为找不到函数参数 func0 和 vec。
这方面的任何帮助都会有所帮助。这是该情况的模拟示例。
这是一个例子,
a <- function(n){
sqrt(n)
}
N = 100
out <- rep(NA,N)
# simple function with multiple arguments
foo <- function(a=a, b= c(1:3), c= 1000){
for(n in 1:N){
out[n] <- b%*%b+ a(n)*c
}
return(out)
}
candidates <- list(a=a, b = c(1:3), c=1000)
lapply(1:4, foo(a=candidates$a,b=candidates$b,c=candidates$c)) ## Doesn't work
lapply(1:4, foo, a=candidates$a, b=candidates$b, c=candidates$c) ## Doesn't work
candidates2 <- c(a=a, b = c(1:3), c=1000) # A vector of arguments
lapply(1:4, foo, a=candidates2$a, b = c(candidates2$b1,candidates2$b2,candidates2$b3), c=candidates2$c) #Doesn't work either
【问题讨论】:
标签: r arguments simulation lapply replicate