我想应用一个包含多个变量的所有可能组合的函数。另一个要求是支持多个内核,访问全局环境变量和使用库。
我想使用单个矩阵可能是一个好主意,并逐行应用于该函数。
var1 = c("no", "yes")
var2 = c(TRUE, FALSE)
var3 = 1:2
combinations = expand.grid(var1,var2,var3)
导致
Var1 Var2 Var3
1 no TRUE 1
2 yes TRUE 1
3 no FALSE 1
4 yes FALSE 1
5 no TRUE 2
6 yes TRUE 2
7 no FALSE 2
8 yes FALSE 2
我想要使用的数据集很大,所以我希望虚拟函数可以。让
dataset
是一个很大的变量,需要在函数的每次运行中都可用,并且
library.function
来自已导入的包的方法。
calculate <- function(matrix){
result = library.function(dataset, matrix$"Var1", matrix$"Var2", matrix$"var3")
}
使用for循环似乎微不足道,所以我尝试了foreach / doParallel,但无法访问环境变量和外部库。