Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在R中划分向量,使块的总和相同_R_Parallel Processing - Fatal编程技术网

如何在R中划分向量,使块的总和相同

如何在R中划分向量,使块的总和相同,r,parallel-processing,R,Parallel Processing,我正在尝试优化一些R代码,以便在一个非常大的矩阵中计算欧几里德距离(大于dist允许的范围)。为了加快这个过程,我将发送矩阵的哪一列,以使用doParallel计算矩阵的colSums。 然而,当给定矩阵的最后一列非常小时,并行化效率很低。因此,我试图通过将计算划分为数量大致相同的段来优化代码。理想情况下,我会将其除以,这样从1到nCols的向量之和具有相同的和,但这是一个NP复杂问题。有没有其他方法可以得到类似的结果 我的代码如下: library(doParallel) ncores &l

我正在尝试优化一些R代码,以便在一个非常大的矩阵中计算欧几里德距离(大于dist允许的范围)。为了加快这个过程,我将发送矩阵的哪一列,以使用doParallel计算矩阵的colSums。 然而,当给定矩阵的最后一列非常小时,并行化效率很低。因此,我试图通过将计算划分为数量大致相同的段来优化代码。理想情况下,我会将其除以,这样从1到nCols的向量之和具有相同的和,但这是一个NP复杂问题。有没有其他方法可以得到类似的结果

我的代码如下:

library(doParallel)

ncores <- 140
cl<-makeCluster(ncores)
registerDoParallel(cl)

#number of samples
samples <- 10000
#number of markers
markers <- 160000

#input markers matrix
A <- matrix(1:5, ncol=samples,nrow=markers, byrow=T)
btime <- system.time(
  bresult<-foreach(x=1:(ncol(A)-1),.combine="c",.multicombine=T,.inorder=T) %dopar% {
      colSums(as.matrix(A[,x]-A[,(x+1):ncol(A)])^2,na.rm = T)
  }
)
库(双并行)

ncores哪个代码是Alex?在上面的链接中。你可能也想要,艾德克