【问题标题】:Survdiff Analysis of two genes in RR中两个基因的Survdiff分析
【发布时间】:2015-06-05 01:16:42
【问题描述】:

我正在尝试分析取自肿瘤患者的 12 个基因表达。我需要通过R语言的survdiff函数进行log-rank测试。

首先,我根据中位数对患者进行排序,第一组高于中位数,另一组低于中位数。我通过这个找到了单个基因的 p 值和 Kaplan Meier 曲线;

test <- survdiff(Surv(surv, stat) ~ genename > median(genename), data = my.Data)

现在我想结合两个基因并通过对数秩检验找到p值并绘制Kaplan Meier曲线。这两个基因必须相同才能高于中位数和低于中位数。

我做这个,

gene1_gene2 <- survdiff(Surv(surv, stat) ~ (gene1 > median(gene1)) + (gene2> median(gene2)), data = my.Data)

                                                      N Observed Expected (O-E)^2/E (O-E)^2/V
gene1> median(gene1)=FALSE, gene2 > median(gene2)=FALSE 70        9     24.5     9.787     17.70
gene1> median(gene1)=FALSE, gene2> median(gene2)=TRUE  19        5      6.8     0.478      0.55
gene1> median(gene1)=TRUE, gene2> median(gene2)=FALSE  19        7      4.0     2.256      2.45
gene1> median(gene1)=TRUE, gene2> median(gene2)=TRUE   69       34     19.7    10.338     16.19

 Chisq= 23  on 3 degrees of freedom, p= 3.98e-05 

它给出了 4 个结果,但我需要两个结果,它们是 ;

gene1> median(gene1)=FALSE, gene2 > median(gene2)=FALSE
gene1> median(gene1)=TRUE, gene2> median(gene2)=TRUE

因为这两个给了我的愿望。第一个低于两个的中位数,第二个高于中位数。

我该怎么做?请帮我。希望你能理解我的问题。

最好的

【问题讨论】:

  • 这看起来很奇怪:survdiff(Surv(surv, stat) ~ genename &gt; median(genename), data = my.Data)。您是否有任何引文表明这样的公式是有意义的?
  • 我自己做的。我的意思是,我需要根据基因表达将两个患者分成两组,而这些组必须根据中位数进行。一组高于中位数,另一组必须低于并等于中位数。然后log rank test,我需要申请这两个组。我用这种方法做到了。如果您有其他建议,我想听听。
  • 我尝试破解四项 survdiff 对象的结果,但这并不是特别简单,我认为您应该只编辑屏幕输出以满足您的需求。您不应包含全局卡方统计量,因为它是跨 4 个组计算的。
  • 但我不知道该怎么做。我是这门语言的初学者。你能帮助我吗?至少你可以推荐一篇论文或书籍来阅读。
  • 您当然可以将文本复制并粘贴到编辑器中。您已将其粘贴到 SO 编辑框中。

标签: r analysis survival-analysis


【解决方案1】:

您应该考虑在生存分析中使用均值表达式而不是中值表达式,因为中值会将您的队列分成两半。从生物学的角度来看,队列永远不会有确切的 50% 事件(死亡、转移或任何其他相关的相关参数)。

话虽如此,我强烈推荐你使用以下 R 代码:

survdiff(Surv(my.Dat[,TIME],my.Dat[,EVENTS])~strata(my.Dat[,PREDICTION]),data=my.Dat)

其中 TIME 是随访,EVENTS 是患者状态(0:无事件,1:事件),PREDICTION 是您定义表达式组的列。考虑以下用于填充 PREDICTION 列的代码:

my.Dat$PREDICTION=NA
my.Dat$PREDICTION[which(my.Dat$gene1>median(my.Dat$gene1) & my.Dat$gene2>median(my.Dat$gene2))]="UP"
my.Dat$PREDICTION[which(my.Dat$gene1<median(my.Dat$gene1) & my.Dat$gene2<median(my.Dat$gene2))]="DOWN"

这样,您将 UP 患者设置为具有高基因 1 和基因 2 表达,而相反(低基因 1 和基因 2)设置为 DOWN。由于其他组合(基因 1 高/基因 2 低和基因 1 低/基因 2 高)设置为 NA,因此它们不会出现在生存指标中。

干杯。

【讨论】:

    猜你喜欢
    • 2016-05-19
    • 2010-12-21
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    • 2020-09-24
    • 2017-04-24
    相关资源
    最近更新 更多