使用rms包的lrm()函数构建逻辑回归模型时,如何获取OR值的95%置信区间?
获取lrm()模型的OR值及95%置信区间
嘿,我来帮你搞定这个问题!用rms包的lrm()函数获取OR值和对应的95%置信区间其实很简单,下面给你两种实用的方法:
方法一:手动计算OR的置信区间
lrm()模型的系数本质是对数OR,我们只需要先提取系数的95%置信区间,再对所有值取指数,就能得到OR及对应的置信区间:
# 你的原始示例代码 n <- 1000 # define sample size set.seed(17) # so can reproduce the results y <- rep(0:1, 500) age <- rnorm(n, 50, 10) sex <- factor(sample(c('female','male'), n,TRUE)) label(age) <- 'Age' label(sex) <- 'Sex' f <- lrm(y ~ age + sex, x=TRUE, y=TRUE) # 获取系数的95%置信区间 coef_confint <- confint(f) # 计算OR值和对应的95%置信区间,合并成清晰的表格 or_table <- exp(cbind(OR = coef(f), coef_confint)) # 查看最终结果 or_table
运行后你会得到一个包含OR值、95%置信区间下限和上限的表格,数据直观易懂。
方法二:用summary.lrm()直接输出
rms包专门为lrm对象提供了summary.lrm()函数,默认就会输出OR值和95%置信区间,还附带p值等实用统计量,一步到位:
# 生成模型摘要,默认输出95%置信区间 summary(f) # 如果需要指定其他置信水平(比如99%),可以调整conf.int参数 # summary(f, conf.int = 0.99)
这个方法更省心,输出结果会按变量分类展示,每个变量的OR、置信区间和p值一目了然,非常适合快速查看模型整体结果。
内容的提问来源于stack exchange,提问作者dbcoffee




