今天练习内容:针对二分类因变量数据资料,用lasso回归筛选自变量。数据资料embolism,研究肺动脉栓塞的风险。因变量group,1表示发生肺动脉栓塞,0表示未发生。其他自变量包括age、bmi、tos、等共13个,均为连续性数据或二分类数据。
x <- as.matrix(embolism[,2:14]) y <- as.matrix(embolism[,1])
lambdas <- seq(from=0,to=0.5,length.out=200) set.seed(123)
cv.lasso <- cv.glmnet(x=x,y=y,alpha=1, lambda = lambdas, nfolds = 3, family="binomial") 图中显示,在最小偏差1个标准差位置上,仍然有7个自变量的偏回归系数是不为零的。实现了筛选自变量的目的。plot(cv.lasso$glmnet.fit,xvar = "lambda",label = T) 剩下的这7个自变量,可以继续去做多因素的logistic回归,进行影响因素的分析。
参考资料:
彭献镇《R语言临床预测模型实战》
大家如果有统计方法选择、统计软件使用、统计结果解释分析、论文数据分析等疑难问题,欢迎加入我的视频课程,额外赠送1对1答疑咨询。没时间看视频,那么可以可以随时交流解决问题。有知乎账号的朋友,也可以直接前往知乎,在“数据小兵”知乎首页右侧,有【知乎咨询】入口,欢迎来快速解决问题。
|