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