让sapply跑得更快

时间:2014-01-10 20:11:01

标签: arrays r matrix sapply

我正在尝试运行下面的代码,但它花了2个多小时还没有完成。我也尝试使用unlist(mclapply()),但也没有完成。基本上我正在尝试计算地球移动器在称为results2的3D阵列内的矩阵之间的距离。 3D阵列具有约9000个矩阵,即8 x 11。

dim(results2)
[1] 8851    8   11

indx <- combn(dim(results2)[1],m=2)
library(emdist)
res <- sapply(seq_len(ncol(indx)), function(i) { 
   x1 <- indx[,i];emd2d(results2[x1[1],,],results2[x1[2],,])})

如果我的代码在较小的数据集上运行,则它可以工作。如何让这件事跑得更快?超过2小时是不可行的。

0 个答案:

没有答案