首页 文章

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

提问于
浏览
0

我试图确定两组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

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

    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 .

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

相关问题