我是根据树木普查数据模拟树木死亡率的。人们每隔一段时间就出去,记录树木是生是死。我使用coxph
函数来运行一个cox比例风险模型,作为几个预测变量的函数来分析树木死亡率的概率。代码看起来像:
model <- coxph(S ~ x1 + x2 + x3, data = data)
然而,我的预测因子之一,树的大小,实际上被期望与死亡概率有一个非线性的关系。具体来说,树木在很小的时候就会死亡,当它们达到“幼年”阶段时,死亡的概率就会下降,并且是中等大小,然后随着树木的年龄越来越大,死亡概率又会回升。这在死亡概率和树大小之间创建了一个“反向J形”模式。看起来是这样的:
如何将这种非线性关系合并到coxph框架中?如果这是不可能的,我还能如何分析R环境中的死亡概率,使用JAGS模型或其他什么?
发布于 2016-06-02 17:04:43
尝试:
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()
是你的朋友。
https://stackoverflow.com/questions/37597236
复制相似问题