在R中运行Cox.ph模型和GAMM混合模型
我在使用GAM和样条曲线方面是新手。我正在运行一个生存模型,我想用两个变量控制受试者的年龄来模拟事件发生的时间。以下是使用coxph的传统生存模型的示例:在R中运行Cox.ph模型和GAMM混合模型,r,survival-analysis,gam,random-effects,R,Survival Analysis,Gam,Random Effects,我在使用GAM和样条曲线方面是新手。我正在运行一个生存模型,我想用两个变量控制受试者的年龄来模拟事件发生的时间。以下是使用coxph的传统生存模型的示例: library(survival) fit_cox<-coxph(Surv(time, event)~ age+ var1 + var2, data=mydata) Ops.Surv(w,对象$y)中出错:生存时间上的操作无效 在fit_gamm中,我无法运行该模型,因为合成中出现了一些错误,或者可能我无法包含surv?错误是:
library(survival)
fit_cox<-coxph(Surv(time, event)~ age+ var1 + var2, data=mydata)
Ops.Surv(w,对象$y)中出错:生存时间上的操作无效
提前谢谢你 如评论中所述,简单高斯脆弱性(高斯随机截距)可以直接在
mgcv::gam
调用中指定,例如通过添加…+s(ID,bs=“re”)+…
添加到公式中(请注意,ID
必须是一个因子变量)
或者,您可以将数据转换为所谓的分段指数数据(PED)格式,并使用任何GA(M)M软件拟合模型,然后调用这些软件。以下是一个例子:
库(coxme)
图书馆(mgcv)
库(pammtools)
肺%变异(inst=as.factor(inst))%>%na.omit()
##具有高斯脆弱性的cox模型
继续医学教育
#>附上包裹:“lme4”
#>以下对象已从“包:nlme”中屏蔽:
#>
#>lmList
#>这是gamm4 0.2-5
pam2 ad 2.)我不会使用gamm4
进行简单的随机截取。文档还指出,cox.ph
只能与gam
一起使用。您可以使用s(ID,bs=“re”)
使用gam
对随机截获进行建模。没有一个可复制的例子,我无法给出建议。
library(mgcv)
fit_surv<-Surv(time, event)
fit_gam<-gam(fit_surv ~ age + s(var1) + s(var2), data = mydata, family = cox.ph())
library(gamm4)
fit_gamm <- gamm4(fit_surv ~ age + s(var1) + s(var2), random = ~(1 | ID), data = mydata, family = cox.ph)
summary(fit_gam)