【问题标题】:Correlation of gene expression data on survival data in R cor.test, corr.test, or corr?R cor.test、corr.test 或 corr 中基因表达数据与生存数据的相关性?
【发布时间】:2016-09-22 17:10:56
【问题描述】:

所以我有一个非常大的数据框,在这个例子中是这样布局的:

line    gene1    gene2    gene3    gene4    gene5  survival
1       4.05     7.65     0.25     0.789    10.5   0.90
2       2.51     4.36     12.5     7.56     8.99   0.50
3       3.65     2.55     48.8     5.65     5.89   0.25   
4       5.65     1.54     8.99     9.2      0.01   0.10

唯一的区别是我在实际数据中处理了超过 18,000 个基因。 line 是指果蝇的遗传系,而每个“基因”列中的数字是指相对基因表达。 survival 是每行的存活比例。我想做的是将第 2 到 5 列(基因表达)与第 6 列(survival)关联起来。我已经用cor 试过了,效果很好:

cor1<-cor(master2[c(2:5)], master2$surv, method="pearson")

但是,我想使用 cor.testcorr.test(来自 psych 包)来输出 p 值并对其进行一些更正。

我试过了:

cor1<-cor.test(master2[c(2:5)], master2$surv, method="pearson")

然后得到:

Error in cor.test.default(master2[c(2:5)], master2$surv, method = "pearson") : 
'x' and 'y' must have the same length

我也试过了:

cor1<-corr.test(master2[c(2:18141)], master2$surv, method="pearson")

得到:

Error in 1:ncol(y) : argument of length 0

任何帮助将不胜感激!!!

提前致谢,

菲尔

【问题讨论】:

    标签: r statistics correlation genetics


    【解决方案1】:

    首先,根据我对大型基因表达数据集进行类似操作的经验,psych::corr.test()优于矩阵,尤其是矩阵矩阵或 df 矩阵。

    psych::corr.test() 的优势也是您收到该错误的原因。这两个输入必须都是矩阵或数据框 - 当您使用 master2$surv 提取一列时,它不再是数据框!尝试使用master2[,ncol(master2)] 提取最后一列。

    编辑:

    您也可以使用cor.test,但您需要在第一个参数中感兴趣的列之间使用sapply,即您的示例中的2:5。如果它是 4 列,则性能方面可能没什么大不了,但如果是数千列,我会推荐 pysch::corr.test

    【讨论】:

    • 我试过:cor1
    • 抱歉,这是我的复制粘贴错误。你想要master2[,ncol(master2)] 而不是master2$surv[,ncol(master2)]
    【解决方案2】:

    这里是如何实现上面提到的apply。首先将您的变量子集为矩阵:

    mat <- df[, 2:5]
    survival <- df[, 6]
    

    现在在mat 的列中应用cor.test()

    cor <- apply(mat, 2, function(x) cor.test(survival, x))
    

    提取相关系数
    unlist(sapply(cor, "[", 4))
    

    18,000 个变量应该可以在一台不错的机器上轻松实现。

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-20
      • 2018-08-24
      • 2020-07-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多