我正在尝试使用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)
但是这给了我每个变量的样条模型,任何人都知道如何调整我的模型?
答案 0 :(得分:0)
由于您未能在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
函数不像^
函数,它具有公式扩展方法。 (虽然你声称你从第二个模型中获得了单独的输出,但我想知道我是否完全跟上了这个包。)如果你想要一个复杂的表面用于我所说的“交叉样条”,那么你会使用{{ 1}}两个*
次调用之间的运算符。使用因子变量进行交叉将为每个因子级别构建单独的rcs-spline拟合。