R编程 - 循环的并行处理



i具有一个大约1000列/参数的数据集,并希望在每个参数中执行回归。因此,第1列中的数据将针对线性回归等所有其他999个参数堆叠。

这种方法的不优化版本将是:

loop <- c(1:ncol(Data))
for ( column in loop ){
    # Fetch next data to be compared
    nextColumn <- column + 1
    # Fetch next column
    while ( nextColumn <= ncol(Data) ){   
       # Analysis logic
       # Increment the counter
       nextColumn <- nextColumn + 1
   }
}

上面的代码将起作用,但需要大量时间。为了优化,我想在R中使用并行处理。在这种情况下,在这种情况下可以有用,例如paralleldoparallel

但是,可能会有一些高架涉及到新的R编程器,我可能不知道。我正在寻找R Experts的建议,以了解R的更好方法在R中编写上述代码以及是否有任何特定软件包有用。

期待建议,谢谢。

使用 mapply这样:

X <- 1:(ncol(mtcars)-1)     # first through penultimate column
Y <- 2:ncol(mtcars)         # second through last column
mapply(function(x,y) sum(mtcars[,x],mtcars[,y]), X, Y)

最新更新