Pearson相关(cor.test)使用数据矩阵的特定列

时间:2016-08-13 05:54:11

标签: r

我试图确定两组6列之间的成对皮尔森相关系数和显着性(p值)。

Table

我正在使用以下脚本:

output <- matrix(dim(data2)[1]*4,dim(data2)[1],4)
for (i in dim(data)[1]){
    r<-cor.test(data[i,c(2:7)],data[i,c(9:14)],method="pearson")
    output[i,3]<-r$p.value
    output[i,4]<-r$estimate
    output[i,1]<-data[,1] # target geneID
    output[i,2]<-data[i,8] # miRNAID
}
colnames(output) <- c("geneID","miRNAID","p-val","corr")
head(output)

但是我对数据矩阵中的向量类型有疑问

enter image description here

我非常感谢您就此问题提出的意见。

由于 V

1 个答案:

答案 0 :(得分:0)

我想知道你是否愿意这样做:

gene<-c("gene.17472635","gene.17436226","gene.17424189")
gene.C1<-c(216.22244180,0.04166939,29.58526377)
gene.C2<-c(210.4407513,0.6071574,24.684428)
gene.C3<-c(153.9317645,0.8830194,19.8798697)
gene.S1<-c(156.23494974,2.308891,23.345456)
gene.S2<-c(128.602680,4.568860,12.725349)
gene.S3<-c(52.928491,6.04392,7.174450)

data<-as.matrix(cbind(gene.C1,gene.C2,gene.C3,gene.S1,gene.S2,gene.S3))
cols<-t(combn(1:6,2))

gene_data_pval<-apply( cols , 1 , function(x) cor.test( data[,x[1]] , data[,x[2]],method="pearson")$p.value )
gene_data_estimate<-apply( cols , 1 , function(x) cor.test( data[,x[1]] , data[,x[2]],method="pearson")$estimate)
result1<-cbind(as.matrix(gene_data_pval),as.matrix(gene_data_estimate))
colnames(result1)<-c("p-val","est")

我不确定你是否想要这个或其他东西,因此只有基因数据,但代码可以很容易地被用于mri。

备注:您可以根据组合制作一个ids矢量。