我有一个我想用各种参数运行的函数(请参见示例中的p\u space)。我可以使用for循环轻松地做到这一点。然而,由于我计划在以后使用并行处理,lapply似乎是一种可行的方法。有人知道我怎么做吗?我的尝试似乎根本不起作用!
示例代码:
as <- c(1,2) # limit for K
bs <- c(3,4)
cs <- c(2,3) # distribution of food sources ('random'/'clustered')
p_space <- list ()
for (a in as){
for (b in bs){
for (c in cs){
p_space[[length(p_space)+1]] <- c(a,b,c)
}
}
}
made_up <- function(a, b, c){
return(a * b * c)
}
我尝试这样做:
lapply(p_space, made_up(i) p_space[[i]])
我想要的输出是一个数据帧/矩阵/列表,其中包含p\U空间中所有参数集上的组合函数的结果。
我将如何使用for循环执行此操作
results <- list()
for (a in as){
for (b in bs){
for (c in cs){
results[[length(results) + 1 ]] <- c(a*b*c,a,b,c)
}}}