0
我有一个大的稀疏矩阵。现在我想做一对列的所有组合的列联表。 例如: 比方说,我的稀疏矩阵是垫稀疏矩阵的列联表
D1 D2 D3 D4 D5 .. Dn
1 0 1 0 0 .. 0
0 1 1 1 1 .. 1
.. .. .. .. .. .. ..
1 0 1 0 1 .. 1
现在需要做出应急表例如用于应急表迪和Dj的所有组合的(D1,D2),(D1,D3), (D1,D4)...(D2,D3),(D2,D4)...(D2,Dn)...(Dn-1,Dn)
各应急表
r1 r2
r3 r4
#where r1 is total number of 1's in Di column
# r2 is total number of 1's in Di AND Dj column
# r3 is total number of 1's in Di AND Dj column
# r4 is total number of 1's in Dj column
ALGO:
for each i in (1:n-1) {
for each j in (i+1 : n) {
Calculate r1,r2,r3,r4
create contingency table for Ri and Rj
apply fisher test on that
}
}
我想要一些快速的实施,因为它正在采取超过2-3天
谢谢。但它仍然需要很长时间。矩阵的维数为8000 * 7000.这意味着总C(7000,2)列联表。最初创建表的速度非常快,但过了一段时间后,它变得非常缓慢,最终陷入困境。 –
7000列???你认为这意味着总数c(7000,2)...?这将产生大约2450万张桌子! – Sotos
是的。这就是为什么它需要时间。 –