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()'文件,但如果您有任何建議,請分享。 –