测试 R 中两条生存曲线是不是不同

Posted

技术标签:

【中文标题】测试 R 中两条生存曲线是不是不同【英文标题】:Test if two survival curves are different in R测试 R 中两条生存曲线是否不同 【发布时间】:2021-11-29 00:39:24 【问题描述】:

我使用 survival 包中的 R 函数 survfit 生成了两条生存曲线(Kaplan-Meier 估计),生存对象的形式为 Surv(time_1, time_2, event) 和公式 Surv(time_1, time_2, event) ~ gender

我想对两条结果生存曲线的相等性进行统计检验。

不幸的是,survdiff 不接受这种形式的生存对象。它只接受Surv(time_2, event),它给出了不同的(在我的情况下是错误的)结果。

有没有一个函数可以让我根据survfit的结果比较两条曲线?

这是创建示例数据的代码:

e<-c(1, 0 ,1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1)
t1<-c(35, 35, 34, 35, 35, 35, 34, 35, 35, 35, 34, 35, 35, 35, 34, 35)
t2<-c(36, 37, 37, 36, 36,37, 35, 36, 36, 37, 37, 36, 36, 37, 35, 36)
g<-c("F","F","F","F","F","F","F","F","M","M","M","M","M","M","M","M")
data<-cbind(g,t1,t2,e)
data<-data.frame(data)
#result differs
km<-survfit(Surv(time_1,time_2,event)~Gender,data=data_test)
km2<-survfit(Surv(time_2,event)~Gender,data=data_test)

【问题讨论】:

数据?数据?数据? Í 添加了 R 代码以在我的帖子中生成数据。 使用绑定将这些数值强制转换为字符,然后变量名称完全不匹配。 【参考方案1】:

根据我对该主题的了解,通常的对数秩检验并未针对区间删失数据定义。这就解释了为什么 survdiff 函数抱怨右删失数据。

尽管如此,区间删失数据的 logrank 存在泛化。有些似乎是在interval 包中实现的(described here)。

我真的无法为您提供更多帮助,因为我只使用正确的审查数据,所以我从不需要这些概括。

我希望这对你有帮助。

【讨论】:

以上是关于测试 R 中两条生存曲线是不是不同的主要内容,如果未能解决你的问题,请参考以下文章

R生存分析 - KM曲线 ,值得拥有姓名和颜值

R数据可视化14:生存曲线图

R语言绘制生存曲线95%区间

R语言画生存曲线怎么标注相对危险度

R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值R语言使用timeROC包的plotAUCcurve函数可视化多时间生存资料的不同标记物情况下对应的AUC曲线并进行对比

R语言绘制生存曲线图