Logistic回归分析常常用来分析某个结局的危险因素或保护因素。

输入数据格式

分析代码

library(finalfit)
library(rstan)
library(boot)
library(tidyr)meta$stress = ifelse(meta$IESR > 20, "stress", "health")#获取结局变量,为二分类的
meta$stress = as.factor(meta$stress)
meta$stress = relevel(meta$stress, ref = "health")explanatory = c("group", "Age",  "BMI","PHQ9","DietRegularity")#指定危险因素或保护因素
dependent = 'stress'#指定结局变量forest_df<- meta %>% #回归分析finalfit(dependent, explanatory, p=TRUE, column = TRUE) %>%rename(Univariate = "OR (univariable)")%>%separate(Univariate, into = c("OR (Univariate)", "p_value_u"), sep = ", TRUE")%>%separate(p_value_u, into = c("p_value_uni", "x1"), sep = "\\)")%>%rename(Multivariable = "OR (multivariable)")%>%separate(Multivariable, into = c("OR (Multivariable)", "p_value_m"), sep = ", TRUE")%>%separate(p_value_m, into = c("p_value_multi", "x2"), sep = "\\)")%>%dplyr::select(-x1, -x2)%>%replace_na(list(p_value_uni = "-", p_value_multi = "-")) %>%dplyr::select(`Dependent: stress`, `OR (Multivariable)`,  p_value_multi)%>%separate(`OR (Multivariable)`, into = c("Estimate", "lowerlimit", "p"), sep = " ")%>%dplyr::select(-p)%>%separate(lowerlimit, into = c("first", "last"), sep = 1)%>%dplyr::select(-first)%>%separate(last, into = c("first", "last"), sep = -1)%>%dplyr::select(-last)%>%separate(first, into = c("lowerlimit", "upperlimit"), sep = "\\-")%>%separate(p_value_multi, into = c("first", "p_value"), sep = 1)%>%dplyr::select(-first)%>%mutate(sig = ifelse(p_value < 0.05 , "Sig", "Non-Sig"))forest_df2 <-forest_df %>%filter(Estimate != "-")%>%dplyr::rename(Factor = `Dependent: stress`)%>%arrange(desc(Factor))
forest_df2 = forest_df2[1:3, ]forest_df2$Estimate <- as.numeric(forest_df2$Estimate)
forest_df2$lowerlimit <- as.numeric(forest_df2$lowerlimit)
forest_df2$upperlimit <- as.numeric(forest_df2$upperlimit)fig <- ggplot(forest_df2, aes(x=Factor, y=Estimate, ymin=lowerlimit, ymax=upperlimit))+geom_pointrange(position = position_dodge(width = 0.60))+geom_hline(yintercept = 1, linetype=2)+coord_flip()+xlab('')+ scale_y_log10()+ylab("Adjusted OR (95% CI)")+geom_errorbar(aes(ymin = lowerlimit, ymax = upperlimit),width=0.1, position = position_dodge(width = 0.60))+theme(plot.title = element_text(hjust = 0.5))+theme_minimal()+theme(axis.text.y= element_text(size=12))fig

输出结果

注:PHQ9是抑郁评分,可以看到抑郁是应激的危险因素。

R语言进行Logistic回归分析相关推荐

  1. R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择分类心肌梗塞数据模型案例...

    全文下载链接:http://tecdat.cn/?p=21444 在本文中,逻辑logistic回归是研究中常用的方法,可以进行影响因素筛选.概率预测.分类等,例如医学研究中高通里测序技术得到的数据给 ...

  2. R语言构建logistic回归模型:构建模型公式、拟合logistic回归模型、模型评估,通过混淆矩阵计算precision、enrichment、recall指标

    R语言构建logistic回归模型:构建模型公式.拟合logistic回归模型.模型评估,通过混淆矩阵计算precision.enrichment.recall指标 目录

  3. R语言构建logistic回归模型:WVPlots包PRTPlot函数可视化获取logistic回归模型的最优阈值、优化(precision、enrichment)和recall之间的折衷

    R语言构建logistic回归模型:WVPlots包PRTPlot函数可视化获取logistic回归模型的最佳阈值(改变阈值以优化精确度(precision.enrichment)和查全率(recal ...

  4. R语言构建logistic回归模型并评估模型:模型预测结果抽样、可视化模型分类预测的概率分布情况、使用WVPlots包绘制ROC曲线并计算AUC值

    R语言构建logistic回归模型并评估模型:模型预测结果抽样.可视化模型分类预测的概率分布情况.使用WVPlots包绘制ROC曲线并计算AUC值 目录

  5. R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数、阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化、基于数据阳性样本比例选择合适的分类评估指标

    R语言构建logistic回归模型并评估模型:构建基于混淆矩阵计算分类评估指标的自定义函数.阳性样本比例(垃圾邮件比例)变化对应的分类器性能的变化.基于数据阳性样本比例选择合适的分类评估指标 目录

  6. R语言构建logistic回归模型并评估模型:计算混淆矩阵、并基于混淆矩阵计算Accuray、Precision、Recall(sensitivity)、F1、Specificity指标

    R语言构建logistic回归模型并评估模型:计算混淆矩阵.并基于混淆矩阵计算Accuray.Precision.Recall(sensitivity).F1.Specificity指标 目录

  7. R语言条件Logistic回归模型案例:研究饮酒与胃癌的关系

    R语言条件Logistic回归模型案例:研究饮酒与胃癌的关系 目录 R语言条件Logistic回归模型案例:研究饮酒与胃癌的关系 #样例数据

  8. 用R语言建立logistic回归模型

    用R语言建立logistic回归模型 公式:fm<-glm(formula,family=binomial(link=logit),data=data.frame) 其中:link=logit可 ...

  9. R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例

    原文链接:http://tecdat.cn/?p=21444 逻辑logistic回归是研究中常用的方法,可以进行影响因素筛选.概率预测.分类等,例如医学研究中高通里测序技术得到的数据给高维变量选择问 ...

最新文章

  1. eplan文本怎么换行_EPLAN几个使用的小技巧,非常有用
  2. JVM---程序计数器
  3. python代码案例详解-Python之入门基础字典案例详解,新手必学
  4. 山东工业职业学院计算机老师田彦,学院举办2019年第二期新教师岗前培训班
  5. 大快网站:如何选择正确的hadoop版本
  6. jvm(6)-Class字节码文件结构总结
  7. 【渝粤教育】国家开放大学2018年春季 0234-21T公务员制度讲座 参考试题
  8. GIS工具篇(一):2000大地坐标系转换指南
  9. linux 好用的命令行软件,比较好用的linux命令
  10. Parencodings 模拟
  11. smartforms长文本处理方式
  12. Data URI scheme
  13. 数学建模更新10(蒙特卡罗模拟)
  14. 创蓝253云通讯平台---短信验证码接口说明
  15. 一个微博热搜引发的故事
  16. 2021年最后一期 | 转录组分析的正确姿势你了解了吗?
  17. 堆与栈区别,以及分配内存的快慢
  18. c语言——指针初阶(2)
  19. cesium建筑物3DTile单体化(cesium篇.24)
  20. python的使用方法图解_python开发之IDEL(Python GUI)的使用方法图文详解

热门文章

  1. VS2019 C# menustrip无法直接键入 解决方案
  2. Com、Com+\DCom定义和差别
  3. Nvidia官方视频编解码性能
  4. [C++][QT]俄罗斯方块
  5. 北京大兴国际机场高速公路全线贯通
  6. flash聊天接口文档
  7. GUN Radio安装
  8. 【香颂】《Patricia Kass - Piano Bar 》
  9. 2006年QQ,MSN经典语录
  10. 计算机英语第二版司爱侠翻译,计算机英语 第2版 配套习题 司爱侠 张强华 参考试卷.pdf...