我现在又两个50-70M的数据,分别为a(485512行,36列),b(45行,36列),我想提取A中的每一行与B中的每一行做相关性检验,提取P值以及相应统计量(代码如下),但是我现在遇到一个问题就是程序运行太慢,而且只能在8G,64位的机器上运行,换成4G,32位的机器就会报错,无法分配矢量。我试过ff包,还是很慢,因为我用的是最低效的for循环,不知道我的程序上能不能有什么改进。
<br />
PValue_Spearman<-matrix(NA,nrow=485512,ncol=45)<br />
Statistics_Spearman<-matrix(NA,nrow=485512,ncol=45)</p>
<p>for (i in 1:485512){<br />
for (j in 1:45){<br />
Cor_Spearman<-cor.test(a[i,],b[j,],meth='spearman',exact=FALSE)<br />
Statistics_Spearman[i,j]<-round(Cor_Spearman$estimate,digits=3)<br />
PValue_Spearman11[i,j]<-round(Cor_Spearman$p.value,digits=3)<br />
}<br />
}<br />
</p>