我试图比较两个矩阵中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]