[英]Hazard Ratio Plot from mgcv::gam cox.ph model
我正在浏览不同的包,这些包可以在 COX PH 模型的上下文中拟合非线性预测变量。
但是,我一直在寻找生成图来表示连续预测变量与生存分析中事件的风险(风险比)之间的非线性关系。 虽然我能够轻松地使用rms
package,但我希望使用mgcv
。
这是一个在survival
中使用colon
数据库的玩具示例。
library(rms)
library(survival)
library(mgcv)
dd <- datadist(colon)
options(datadist="dd")
#Using rms
rms.spline <- cph(Surv(time, status) ~ rcs(age,3), data=colon)
ggplot(rms::Predict(cph.spline, age=seq(40,80, by=1), fun=exp))
然后使用 mgcv package:
gam.model <-gam(time ~ s(age), data=colon, family="cox.ph", weights=status)
plot(gam.model)
和 output:
很明显,这次 plot 不代表风险比的预测变量,我很难弄清楚 a) 这个 plot 中的 y 轴实际上代表什么(我想是对数风险?),和 b ) 如何将 plot 改为针对 HR 的预测变量。
我相信你是正确的,它正在绘制风险比的对数。 这是使用基数 R 在原始坐标中将其变为 plot 的方法。对 ggplot 的修改将很简单。 通常,您可以在预测调用中使用 type="response",但这不适用于 gam 中的 Cox PH 系列。
age = seq(40, 80, 1)
y = predict(gam.model, newdata = data.frame(age=age), se.fit=TRUE)
plot(age, exp(y$fit), ylim=c(.8, 1.3))
lines(age, exp(y$fit + 1.96 * y$se.fit))
lines(age, exp(y$fit - 1.96 * y$se.fit))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.