使用R中的生存包在cox比例风险模型中实现非线性关系

时间:2016-06-02 16:22:51

标签: r survival-analysis

我根据树木普查数据模拟树木死亡率。人们以不同的间隔外出,记录树木是否存在或死亡。我使用import { combineReducers } from 'redux' import loginForm from './loginForm' const inboundApp = combineReducers({ loginForm }) export default inboundApp 函数运行cox比例风险模型来分析树死亡概率作为几个预测变量的函数。代码如下所示:

coxph

然而,我的一个预测因子树大小实际上预计与死亡概率具有非线性关系。具体来说,树木在很小的时候死亡很多,死亡的概率随着它们到达“少年”阶段而下降并且是中等大小,然后随着树木变大和变大,死亡概率会逐渐增加。这在死亡概率和树大小之间创建了“逆J形”模式。它看起来像这样: relationship between tree size and mortality probability

如何将这种非线性关系纳入coxph框架?如果无法做到这一点,我还能如何使用JAGS模型或其他方法分析R环境中的死亡概率?

1 个答案:

答案 0 :(得分:5)

尝试:

library(mgcv)
fit <- gam(S ~ s(x1, bs = 'cr', k = 10) + s(x2, bs= 'cr', k = 10) +
           s(x3, bs = 'cr', k = 10), family = cox.ph(), data = data)

您可以使用添加剂Cox比例风险模型,其中所有项都是非线性样条曲线。有关大量示例,请参阅?cox.ph

如果您之前未使用mgcv,则可能还需要查看?gam?s。模型拟合后,summary.gam()gam.check()predict.gam()是您的朋友。