0

我有两个矩阵,每个矩阵包含 300 行和 40k 列。我试图在下面的示例a和b中定义的这两者之间找到相关性(使用“psych”-R包中的corr.test)。无论如何我可以让 corr.test 运行得更快吗?

library(bigmemory)

library(psych)

a<-read.big.matrix("a.matrix.t", head=T, sep='\t', type="char")

b<-read.big.matrix("b.matrix.t", head=T, sep='\t', type="char")

z <- corr.test(a[], b[], use = "pairwise", method = "pearson", ci=F)

c <- as.big.matrix(z$r)

p <- as.big.matrix(z$p)

write.big.matrix(c, "correlations.txt", col.names=TRUE, row.names=TRUE)

write.big.matrix(p, "adj.pvalues.txt", col.names=TRUE, row.names=TRUE)

示例文件:

> a

     r1    r2    r3
s1    1    1    4
s2    2    2    6
s3    3    3    9
s4    4    4   12
s5    5    5    6

> b

     g1    g2    g3
s1    6    5    7
s2    7    4    4
s3    8    3    3
s4    9    2    3
s5   10    1    9

> corr.test(a,b)

           cor      adj-pvalue
r1,g1  1.0000000    0.00000001
r2,g2  1.0000000    0.00000007
r3,g3  0.5050763    0.00006986
4

0 回答 0