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中使用并行处理。在这种情况下,在这种情况下可以有用,例如parallel
和doparallel
。
但是,可能会有一些高架涉及到新的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)