1
我有一个包含大约1000列/参数的数据集,并且希望在这些参数中的每一个之间执行回归。因此,第1列中的数据将与所有其他999个参数进行叠加以进行线性回归等。R编程 - 循环的并行处理
这种方法的非优化的版本是:
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中使用并行处理。在这种情况下有许多不同的包可用,例如parallel
和doparallel
作为explained in this question。
但是,可能会有一些开销,作为一个新的R程序员,我可能不知道。我正在寻找来自R专家的建议,以更好的方式在R中编写上面的代码,以及是否有任何特定的包可用。
期待建议,谢谢。
如果你是新的R,我不会试图并行代码。在apply()中调用你的回归函数。看看下面的[链接](https://stackoverflow.com/questions/20342661/apply-in-r-with-user-defined-function)。 –
@JamieMac:谢谢。我很难弄清楚'apply()'将一次获取两列/参数,执行回归并移至下一个组合。目前,在分析逻辑中,我也捕获所有的'summary()'数据,所以我有一个向量不断更新,而回归循环通过不同的列/参数。仍然阅读'apply()'文件,但如果您有任何建议,请分享。 –