如何绘制多变量survreg生成的生存曲线
Posted
技术标签:
【中文标题】如何绘制多变量survreg生成的生存曲线【英文标题】:How to plot the survival curve generated by multi-variate survreg 【发布时间】:2015-12-26 04:51:31 【问题描述】:这个问题是问题here 的后续问题 因为我们要绘制一个多变量模型。
假设我们要从survreg
中的示例中从package release notes 中绘制生存函数
模型在哪里
survreg(Surv(time, status) ~ ph.ecog + age + strata(sex), lung)
据我了解,following problem 似乎解决了这个问题,但没有提供数据集,只使用一个变量。在这个例子中,我们有两个连续变量和一个因子
【问题讨论】:
【参考方案1】:绘制具有平均肺年龄和肺 $ph.ecog 模式的假设个体的预测生存曲线(按照帮助页面中的示例):
?predict.survreg
pct <- 1:98/100
ptime <- predict(res, newdata=data.frame(ph.ecog=1, age=62.44737, sex=1), type='quantile',
p=pct, se=TRUE)
matplot(cbind(ptime$fit, ptime$fit + 2*ptime$se.fit,
ptime$fit - 2*ptime$se.fit)/30.5, 1-pct,
xlab="Months", ylab="Survival", type='l', lty=c(1,2,2), col=1)
【讨论】:
然后如果我们想在同一个图上创建第二条曲线。让我们说一个异性的人。我们是只使用lines
函数还是使用相同的predict
和add=TRUE
?
我会使用新值重新运行 predict.survreg
,然后使用 matlines
,也许使用不同的 col
-argument。
@42 有没有办法调整此结果以允许 x 和 y 具有不同的行数?显然 matplot 仅在 x 和 y 是相同长度的向量时才有效。
我需要更完整的问题描述,因为在当前用例中,我认为“Y 值”是从“X 值”生成的,但我推测您正在寻找expand.grid
在生成 Y 之前应用于您的 X 值。如果它的标题中包含字符串“surv”或标签为[survival-analysis]
,我会看到它。以上是关于如何绘制多变量survreg生成的生存曲线的主要内容,如果未能解决你的问题,请参考以下文章
用survreg()和gsurvplot()绘制生存分析置信区间。
R语言生存分析之COX比例风险模型构建及列线图(nomogram)校准曲线(calibration curve)绘制示例
R语言使用timeROC包计算无竞争情况下的生存资料多时间AUC值使用cox模型并添加协变量可视化无竞争情况下的生存资料多时间ROC曲线
R语言使用timeROC包计算存在竞争风险情况下的生存资料多时间AUC值使用cox模型并添加协变量可视化存在竞争风险情况下的生存资料多时间ROC曲线