在R中使用大矩阵的最佳方法是什么?

时间:2017-07-13 21:24:27

标签: r matrix foreach parallel-processing

我试图比较两个矩阵中colomuns的每个组合,并找出一个矩阵中哪个值比另一个矩阵更高。

这是代码:

Yy<-data.table(matrix(mm1))
Ww<-data.table(matrix(mm2))

> dim(Yy)
[1] 64400   300
> dim(Ww)
[1] 64400   300

    gmat <- expand.grid(1:ncol(Ww), 1:ncol(Yy))

> dim(gmat)
[1] 90000     2

> head(gmat)
  Var1 Var2
1    1    1
2    2    1
3    3    1
4    4    1
5    5    1
6    6    1

Test <- Ww[-nrow(Ww), gmat[, 1]] < Yy[-nrow(Yy), gmat[, 2]]

应用最后一个代码会导致错误:无法分配大小为43GB的向量

有关于如何在foreach包的帮助下将此代码分解为更小的部分的任何建议,或者您对如何使此代码更有效率有其他想法?

为了说明更多,我想做以下事情:

比较

    Yy[,1] with Ww[,1],  Ww[,2] ... Ww[,300] 
    Yy[,2] with Ww[,1],  Ww[,2] ... Ww[,300] 
    .
    .
    .
    Yy[,300] with Ww[,1],  Ww[,2] ... Ww[,300] 

0 个答案:

没有答案