R语言学习记录: logistic回归 如何计算OR值(3种方法)
R语言学习记录:logistic回归中如何计算OR值(三种方法)
文章共680字 · 阅读需要大约3分钟
一键AI生成摘要,助你高效阅读
问答
·
以framingham数据为例,先建立模型
load("framingham.Rdata")
#哑变量
framingham$male<-factor(framingham$male,
levels = c(0,1),
labels = c("女性","男性"))
framingham$education<-factor(framingham$education,
levels = c(1,2,3,4),
labels = c("高中以下","高中","大学","大学以上"))
framingham$currentSmoker<-factor(framingham$currentSmoker,
levels = c(0,1),
labels = c("不吸烟","吸烟"))
framingham$BPMeds<-factor(framingham$BPMeds,
levels = c(0,1),
labels = c("不服用","服用"))
framingham$prevalentStroke<-factor(framingham$prevalentStroke,
levels = c(0,1),
labels = c("无脑卒中家族史","有脑卒中家族史"))
framingham$prevalentHyp<-factor(framingham$prevalentHyp,
levels = c(0,1),
labels = c("无高血压家族史","有高血压家族史"))
framingham$diabetes<-factor(framingham$diabetes,
levels = c(0,1),
labels = c("不患糖尿病","患糖尿病"))
framingham$TenYearCHD<-factor(framingham$TenYearCHD,
levels = c(0,1),
labels = c("未来10年无冠心病风险","未来10年有冠心病风险"))
#建立模型
framinghamLog<-glm(formula=TenYearCHD ~., data = framingham, family = binomial)
summary(framinghamLog)
第一种:根据OR值的计算原理
coef<-coef(framinghamLog) #提取各变量的偏回归系数
coef_CI<-confint(framinghamLog) #提取各变量的偏回归系数的95%可信区间
#通过cbind()将偏回归系数、偏回归系数下限、偏回归系数上限组合,通过exp()计算三者的以e为底的指数函数
OR_Results<-exp(cbind("OR"=coef,"LL"=coef_CI[,1],"UL"=coef_CI[,2]))
round(OR_Results,3) #保留3位小数
结果如下图所示:
第二种:直接生成表格
#生成包含OR、CI、P值的表格
install.packages("gtsummary")
library("gtsummary")
library("dplyr")
logit_table<-glm(formula=TenYearCHD ~., data = framingham, family = binomial) %>%
tbl_regression(exponentiate = TRUE) #exponentiate = TRUE 增加OR值
#把表格导出到Word中
install.packages("gdtools")
install.packages("flextable")
library("flextable")
my_flex<-as_flex_table(logit_table)
save_as_docx(my_flex, path = "mylogittable.docx")
这种方法直接生成表格,可直接导出使用,结果如下表所示:
第三种 logistic.display()函数
library(foreign)
library(survival)
library(MASS)
library(nnet)
library(epiDisplay)
logistic.display(framinghamLog,
crude=TRUE,
crude.p.value=TRUE,
simplified=FALSE)
#crude=TRUE,显示各自变量单因素分析结果的OR及95%CI
#crude.p.value=TRUE,显示各自变量单因素分析结果的P值
#simplified=FALSE,不显示简化结果
更多推荐
已为社区贡献1条内容
所有评论(0)