为什么生存曲线未按设定的4个分层类别正确展示?
问题原因
你的核心问题出在survfit函数的调用格式不规范:
- 公式内直接使用
TMAdata$列名的形式提取变量,同时没有通过data参数传入数据集,导致survfit无法正确识别ADAMTS13level.f是4水平的分组因子,最终错误生成了多余的生存曲线。 - 此外你当前代码的图例设置里
lty=1:2只配置了2种线型,后续修正分组后需要对应调整为4种线型,避免图例和曲线样式不匹配。
修正方案
将survfit调用部分替换为以下写法即可:
# 修正survfit调用,通过data参数传入数据集,公式内直接写变量名 pltrecovery_ADAMTS13_table <- survfit(Surv(Daysplateletrecovery, Recoveredplatelets) ~ ADAMTS13level.f, data = TMAdata) summary(pltrecovery_ADAMTS13_table) plot(pltrecovery_ADAMTS13_table, conf.int = 0, xlab = "Days", ylab = "Probability of not achieving platelet count =>150") # 修正线型参数为1:4,匹配4个分组 legend("topright", inset = 0.03, c("0-10.0", "10.1-40.0", "40.1-60.0", "60.1-160.0"), lty = 1:4, lwd = 2, cex = 1)
内容的提问来源于stack exchange,提问作者Jobolo
相关产品推荐
相关产品推荐

