如何使用 rms 包调整受限三次样条 cox 模型?

How to Adjust restricted cubic spline cox model using rms package?

我正在尝试使用 rms 包绘制受限三次样条模型。但是我找不到任何方法来调整我的 cox 比例风险模型,我只能得到未经调整的拟合。 这是我的代码:

library(survival)
library(rms)

dd <- datadist(Cox9)
options(datadist="dd")

fit <- cph(Surv(follcox,evento) ~  rcs(G_VINO,3))
plot(Predict(fit_vino), lty=1, lwd=3, ylim=c(-0.5,1.0),xlim = c(0,50), col="white") 

通过这种编码,我得到了未经调整的样条模型。 我想知道如何添加混杂变量来调整模型。 我试过了:

fit_vino_adj <- cph(Surv(follcox,evento) ~rcs(G_VINO+edad0+actfis+energia))
plot(Predict(fit_vino_adj), lty=2, lwd=2)

但这分别为我提供了每个变量的样条模型,有人知道我该如何调整我的模型吗?

由于您没有将数据包含在 Cox9 中,也没有展示如何构建类似的数据框或显示任何输出,我们只能猜测发生了什么,并做出笼统的回应。您似乎将变量捆绑在 rcs 函数中。这不太可能成功,或者即使成功了,结果也很可能是不正确的。相反,您应该构造此拟合,然后通过在 Predict-调用中命名焦点变量,仅绘制您感兴趣的曲线的调整拟合。

fit_vino_adj <- cph(Surv(follcox,evento) ~ rcs(G_VINO, 3)+edad0+actfis+energia)
plot(Predict(fit_vino_adj, name="G_VINO"), lty=2, lwd=2)

或者(假设这些都是连续测量)在以下​​之后进行非常轻微修改的绘图调用:

fit_vino_adj2 <- cph(Surv(follcox,evento) ~ rcs(G_VINO, 3)+rcs(edad0, 3) + 
                                           rcs(actfis, 3) + rcs(energia, 3) )
plot(Predict(fit_vino_adj), lty=2, lwd=2)  # to see form of all variable fits.

如果你想在模型中有两个或更多 rcs 样条曲线,那么你需要将 rcs 分别包裹在其他变量周围。没想到rcs函数不像^函数那样有公式展开的方法。 (虽然你声称你从第二个模型中获得了单独的输出让我想知道我是否完全跟上了那个包。)如果你想要一个复杂的表面我称之为 "crossed-splines",那么你会使用 * 运算符在两个 rcs 调用之间。与因子变量交叉将为因子的每个水平构建单独的 rcs 样条拟合。