我有 583 名 2 型糖尿病患者的样本数据,想计算每位患者事件的 5 年发病概率。收集的变量是 5 年审查的事件变量的时间、事件状态和 38 个独立参数。
Cox 回归对所有变量都给出了不显着的结果,因此应用了为 cox 家族指定的弹性净回归。
使用了 R 中的以下命令:
library(survival)
library(glmnet)
y<-Surv(time,status)
x<- cbind(Age,Sex,Tobacco,Alcohol,Energy,HbA1c...)
y<-Surv(time,status)
fit<-glmnet(x,y,family="cox",alpha=0.5)
coef(fit)
获得贝塔系数后,风险评分 (RS) 由 RS = B1*X1 + B2*X2 + ... + Bn*Xn 确定。接下来,我要计算该事件的 5 年概率。莫尔纳等人。(2017)使用公式“1 - S(5)EXP [RS]”和Yang等人。(2007)使用公式“1 - S(5)EXP[RS - RS 的平均值]”。
我的问题是:
1) 应用glmnet后如何计算生存函数S(t)?survfit 命令是一个选项吗?杨等人。指出当风险评分取其平均值时,S(t) 是 t 年的生存函数。如何确定?
2) 哪个公式是更好的选择?我找不到关于杨等人开发的公式的任何背景。
任何帮助将不胜感激。