将所有可能的向量组合应用于使用多个核的函数

时间:2015-05-06 22:23:40

标签: r parallel-processing

我想应用一个包含多个变量的所有可能组合的函数。另一个要求是支持多个内核,访问全局环境变量和使用库。

我想使用单个矩阵可能是一个好主意,并逐行应用于该函数。

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,但无法访问环境变量和外部库。

0 个答案:

没有答案