统计百科 ·

OR 值(优势比)在医学论文里的解读与报告 — 定义/vs RR/调整OR/森林图/报告模板

统计百科:医学论文 OR 值完整指南——OR 的定义与计算、与相对危险度 RR 的本质区别、Logistic 回归输出中的调整 OR(aOR)解读、95% CI 含义、森林图阅读方法,给出 APA 7th 和医学期刊标准的 OR 报告句式模板。

医学文献里最常见的效应量之一就是 OR 值,但"OR = 2.5 意味着风险增加 2.5 倍"这个说法本质上是错的。本文专门解决 OR 的核心问题:它到底衡量什么、和 RR 有什么不同、调整 OR 怎么解读、95% CI 如何判断显著性,以及如何在论文里规范报告。


为什么 OR 值是医学论文里最容易被误读的指标

在临床研究、流行病学、药物疗效文献中,你会反复看到这样的句子:

"吸烟者患肺癌的 OR 为 3.84(95% CI: 2.61, 5.65),p < .001。" "调整年龄和性别后,新药治疗组 30 天再入院 aOR = 0.62(95% CI: 0.45, 0.86)。" "系统综述中 12 项研究的汇总 OR = 1.78,I^2 = 43%。"

三句话里有三个不同语境的 OR,但很多研究者习惯性地将 OR 直接解读为"风险倍数"——而这在大多数情况下是错误的。

**OR 不是风险之比,OR 是优势之比。**理解这一点,是正确解读医学文献的基础。


一、OR 的定义:优势之比,不是概率之比

什么是"优势(Odds)"

概率(Probability,P) 是事件发生的可能性:P = 发生次数 / 总次数。

优势(Odds) 是发生次数与不发生次数之比:Odds = P / (1 - P)。

举例:200 名吸烟者中,40 人患肺癌:

  • 患癌概率 P = 40/200 = 0.20(20%)
  • 患癌优势 Odds = 40/160 = 0.25(即每 4 个不患癌的人对应 1 个患癌的人)

200 名非吸烟者中,10 人患肺癌:

  • 患癌概率 P = 10/200 = 0.05(5%)
  • 患癌优势 Odds = 10/190 ≈ 0.0526

OR = 两组优势之比

OR = 吸烟者患癌优势 / 非吸烟者患癌优势
   = 0.25 / 0.0526
   = 4.75

这意味着:吸烟者患肺癌的优势是非吸烟者的 4.75 倍。

不能说"吸烟者患癌风险是非吸烟者的 4.75 倍"——那是相对危险度(RR),不是 OR。


二、OR 的三种核心含义

OR = 1:无关联

两组的优势相同,暴露因素与结局之间没有统计学关联。

OR > 1:危险因素(正向关联)

暴露组发生结局的优势高于对照组。OR = 3.0 表示暴露组发生结局的优势是对照组的 3 倍。

OR < 1:保护因素(负向关联)

暴露组发生结局的优势低于对照组。OR = 0.5 表示暴露组发生结局的优势是对照组的 50%(降低了 50%)。

一张判断表

OR 值范围解读示例
= 1.0无关联接触因素与疾病无关
1.0–1.5弱正向关联轻度危险因素
1.5–3.0中等正向关联中等危险因素
> 3.0强正向关联强危险因素
0.67–1.0弱保护作用轻度保护因素
0.33–0.67中等保护作用中等保护因素
< 0.33强保护作用强保护因素

注:上述效应量判断均为参考性框架,需结合临床背景判断实际意义。


三、OR vs RR:核心区别与适用场景

这是医学文献中最常见的混淆点。

RR(相对危险度,Relative Risk)

RR = 暴露组发生率 / 非暴露组发生率

用上面的例子:

RR = (40/200) / (10/200) = 0.20 / 0.05 = 4.0

RR = 4.0:吸烟者患癌概率是非吸烟者的 4.0 倍(这才是通俗意义上的"风险倍数")。

OR vs RR 的数值关系

当事件发生率较低(< 10%)时,OR ≈ RR。

当事件发生率较高(> 10%),OR > RR(正向关联时)或 OR < RR(负向关联时)——OR 会高估相对风险的大小

上例中:患癌率分别为 20% 和 5%,属于高发生率场景:

  • OR = 4.75,RR = 4.0,OR > RR(OR 高估了 19%)

如果两组发生率均 < 5%(罕见病),OR ≈ RR,此时用 OR 来近似 RR 是合理的。

各类研究设计中 OR 和 RR 的适用性

研究设计适用指标原因
病例对照研究OR(只能用 OR)无法计算发生率,无法估计 RR
横断面研究OR 或 PR(患病率比)理论上 RR 更直观,但 OR 来自 Logistic 回归更常用
队列研究RR 首选;OR 可用可直接计算发生率,RR 更直观
RCTRR 或 RD 首选ITT 分析可计算发生率,直接报告 RR 或 NNT
元分析视原始研究而定病例对照研究汇总用 OR;队列研究可汇总 RR
Logistic 回归OR模型参数的自然输出,无法直接给出 RR(可用边际效应法估计)

关键记忆点:病例对照研究无法计算 RR,因为研究者控制了病例和对照的数量(不反映自然发生率),所以只能用 OR 作为关联的效应量。


四、Logistic 回归输出中的 OR

OR 是回归系数的指数变换

在二元 Logistic 回归中,模型参数是 Logit 尺度的回归系数 B

Logit(P) = ln[P/(1-P)] = B0 + B1*X1 + B2*X2 + ...

对系数 B 做指数变换即得 OR:

OR = exp(B)

这个 OR 的含义是:控制模型中其他所有变量不变,该变量 X 增加 1 个单位,结局发生优势变为原来的 OR 倍。

粗 OR(crude OR)vs 调整 OR(aOR)

粗 OR(crude OR) 来自单因素 Logistic 回归,仅反映该变量与结局的粗关联,包含其他因素的混杂影响。

调整 OR(aOR,adjusted OR) 来自多因素 Logistic 回归,在控制其他协变量后,该变量与结局的独立关联。医学论文中的结果节通常以 aOR 为主,粗 OR 作为参考对比。

典型三线表示例

表 1  高血压患病 Logistic 回归分析

变量              粗 OR(95% CI)           p        aOR(95% CI)             p
吸烟(有 vs 无)   2.34(1.58, 3.46)       <.001    2.18(1.42, 3.34)        <.001
高盐饮食(有 vs 无)1.78(1.24, 2.55)      .002     1.64(1.12, 2.40)        .011
BMI(每 kg/m^2)  1.12(1.07, 1.17)       <.001    1.08(1.03, 1.14)        .002
年龄(每岁)       1.06(1.03, 1.09)       <.001    1.05(1.02, 1.08)        .001
运动(每次/周)    0.82(0.73, 0.92)       .001     0.85(0.75, 0.96)        .010

注:aOR = 调整 OR,控制表中所有变量;参照类:吸烟 = 无,高盐饮食 = 无。
   Nagelkerke R^2 = .28;Hosmer-Lemeshow chi^2(8) = 7.14,p = .521。

解读吸烟的 aOR = 2.18:在控制高盐饮食、BMI、年龄、运动频率后,吸烟者患高血压的优势是不吸烟者的 2.18 倍,95% CI [1.42, 3.34] 不含 1,p < .001,为独立危险因素。


五、95% CI 的解读:判断显著性的核心

CI 含义

95% 置信区间(95% CI)表示:若重复抽样 100 次,约有 95 次计算出的 CI 会包含总体真实 OR 值。

用 95% CI 判断显著性

CI 情况统计学意义含义
95% CI 不含 1(全部 > 1,如 [1.42, 3.34])显著,p < .05正向关联显著
95% CI 不含 1(全部 < 1,如 [0.45, 0.86])显著,p < .05负向关联(保护效应)显著
95% CI 包含 1(如 [0.82, 2.14])不显著,p >= .05关联无统计学意义
CI 很宽(如 [0.80, 8.76])不稳定样本量不足,精度低
CI 很窄(如 [1.40, 1.62])精确估计样本量充足

判断图示

      保护效应               无关联                危险效应
      OR < 1                 OR = 1                OR > 1
<————|————————|———————————|———————|———————————|————————|————>
     0.2      0.5           1.0           2.0      5.0

若 95% CI 横条:
  ——[——————]——                       CI 包含 1:不显著
            ——[————]——               CI 全部 < 1:保护效应显著
                        ——[—————]——  CI 全部 > 1:危险因素显著(森林图中的表示方式)

六、森林图的阅读方法

元分析和多因素分析常用森林图(Forest Plot)可视化多个 OR 及其 95% CI。

森林图的结构

研究/变量        OR(95% CI)                           图形
                                  0.25  0.5   1   2     4   8

吸烟              2.18(1.42, 3.34)           |——[——●——]——————|
高盐饮食          1.64(1.12, 2.40)           |——[——●——]——|
BMI(每单位)     1.08(1.03, 1.14)           |——[●]——|
年龄(每岁)      1.05(1.02, 1.08)           |——[●]|
运动(保护)      0.85(0.75, 0.96)   |——[——●——]|

                                           ←危险      保护→ (方向取决于参照)
                                      参考线(OR = 1)竖线

读森林图的 3 个要点

  1. 菱形/点的位置:点估计(OR 最可能值),在参考线(OR = 1)哪侧决定方向
  2. 横条的宽窄:CI 宽度,越宽精度越低(通常样本量小)
  3. 横条是否跨越参考线:跨越 = 不显著;不跨越 = 显著

七、报告模板:APA 7th 与医学期刊格式

单个 OR 的报告格式

要素APA 7th 格式示例
OR + CIOR = X.XX, 95% CI [X.XX, X.XX]OR = 2.18, 95% CI [1.42, 3.34]
调整 ORaOR = X.XX, 95% CI [X.XX, X.XX]aOR = 2.18, 95% CI [1.42, 3.34]
p 值p = .XXX 或 p < .001p < .001
保护效应描述"优势降低 X%(1 - OR)""优势降低 15%(aOR = 0.85)"
效应方向文字说明"是危险/保护因素""是独立危险因素"

注意:p 值小数点前不加 0(写 p = .032,不写 p = 0.032);CI 用方括号 [ ] 不用圆括号。

结果节报告模板(单变量)

[变量名]([参照类别] vs [暴露类别])是[疾病/结局]的独立[危险/保护]因素
(aOR = X.XX, 95% CI [X.XX, X.XX], p [值]),即调整[协变量列表]后,
[暴露组]发生[结局]的优势是[对照组]的 X.XX 倍 / [结局]发生优势
降低 XX%(若 OR < 1)。

具体示例(危险因素)

多因素 Logistic 回归分析显示,吸烟是高血压患病的独立危险因素(aOR = 2.18, 95% CI [1.42, 3.34], p < .001)。在控制高盐饮食、BMI、年龄和运动频率后,吸烟者患高血压的优势是不吸烟者的 2.18 倍。

具体示例(保护因素)

运动频率是高血压患病的保护因素(aOR = 0.85, 95% CI [0.75, 0.96], p = .010)。在控制其他变量后,每周运动频率每增加 1 次,患高血压的优势降低约 15%(1 - 0.85 = 0.15)。

多个 OR 的整体结果节报告模板

多因素 Logistic 回归模型整体有统计学意义(chi^2([df]) = XX.XX, p < .001,Nagelkerke R^2 = .XX);Hosmer-Lemeshow 拟合优度检验提示模型校准良好(chi^2(8) = X.XX, p = .XXX)。

在控制所有协变量的条件下,独立危险因素包括:吸烟(aOR = 2.18, 95% CI [1.42, 3.34], p < .001)、高盐饮食(aOR = 1.64, 95% CI [1.12, 2.40], p = .011)、BMI(aOR = 1.08/每 kg/m^2, 95% CI [1.03, 1.14], p = .002);独立保护因素为运动频率(aOR = 0.85/每次·周^(-1), 95% CI [0.75, 0.96], p = .010)。年龄(aOR = 1.05, 95% CI [1.02, 1.08], p = .001)亦为独立危险因素。


八、在 chatsrs.com 一句话获得 OR 完整报告

打开 chatsrs.com,上传数据后输入:

"以 hypertension 为因变量,纳入 smoking、salt_intake、bmi、age、exercise_freq 为自变量,做多因素二元 Logistic 回归。 输出:

  1. 粗 OR(95% CI)和调整 OR(aOR,95% CI)并排三线表
  2. 模型拟合指标(Nagelkerke R^2、Hosmer-Lemeshow 检验、AUC)
  3. 各变量的 Wald 检验统计量和 p 值
  4. 森林图(aOR + 95% CI 横条图)
  5. APA 7th 格式中文结果段落(包含危险/保护因素的完整描述)"

ChatSRS 自动输出三线表、森林图、可直接复制进论文的中文段落,底层调用 R 的 glm() + broom 包或 Python statsmodels,结果与手工计算完全一致。


九、特殊情形下的 OR 注意事项

OR 的稀释效应与罕见事件校正

当阳性事件极少(EPV < 10,即每个变量对应的事件数 < 10),普通 Logistic 回归的系数估计不稳定,OR 的 95% CI 会异常宽。此时推荐Firth 惩罚似然 Logistic 回归,它通过修正评分方程来校正小样本偏倚,特别适合罕见事件(如患病率 < 1%)或完全分离问题。ChatSRS 检测到 EPV < 10 时会自动给出警告并建议切换方法。

匹配资料的 OR:条件 Logistic 回归

病例对照研究中若采用 1:1 或 1:n 匹配设计(如按年龄、性别匹配),必须使用条件 Logistic 回归,而非普通 Logistic 回归。普通 Logistic 回归忽略配对关系,会导致 OR 偏倚。条件 Logistic 回归的输出格式相同(OR + 95% CI),但 ChatSRS 会自动识别配对 ID 变量并选用正确方法。

时间依赖变量中 HR 与 OR 的选择

如果研究有随访时间且关心"何时发生事件",不要用 OR,应该用 Cox 回归输出HR(风险比/危险比)。OR 是截面指标,HR 是时间依赖指标,两者不可互换。在纵向随访数据中混用 OR 和 HR 是审稿人常见批评。


常见 FAQ

Q1:OR = 2.18 能不能说"风险增加了 2.18 倍"?

A:严格来说,不能。OR = 2.18 的准确表述是"优势增加为 2.18 倍",不是"风险增加 2.18 倍"。风险(概率)与优势(odds)是不同的概念,只有在结局事件发生率极低(< 5-10%)时,OR ≈ RR,才可以近似说"风险约增加 2.18 倍"。当发生率较高时,这样表述会高估相对风险。正确表述是:"控制其他变量后,吸烟者患高血压的优势(odds)是不吸烟者的 2.18 倍。" 投稿 JCR Q1 期刊时,审稿人会留意这个措辞。

Q2:aOR 和 OR 差很大怎么解释?

A:粗 OR 和调整 OR 差异大,说明存在明显的混杂效应。常见情形:(1) 正混杂:粗 OR > aOR,该变量的效应被其他危险因素"放大"了(如吸烟与癌症,若不控制年龄,老年人更多吸烟,年龄就是混杂变量);(2) 负混杂:粗 OR < aOR,"真实效应"被掩盖了;(3) 效应反转:粗 OR > 1,aOR < 1,说明该因素在控制混杂后变为保护因素——这是最戏剧性的情形,叫 Simpson's Paradox。无论哪种,两者都应报告,并讨论混杂来源。

Q3:OR 的 95% CI 越宽越不好吗?

A:CI 宽反映估计精度低,通常是因为样本量不足或事件数少(EPV 小)。CI 宽本身不是"坏事",但意味着点估计的不确定性高。例如 aOR = 3.2, 95% CI [0.8, 12.6]:虽然点估计大,但 CI 包含 1,不显著,且宽度提示样本量严重不足,不能对这个效应量下结论。遇到极宽 CI,应在论文局限性中说明"样本量有限,置信区间较宽,结果需更大样本验证"。

Q4:元分析中汇总 OR 该怎么解读?

A:元分析的汇总 OR(Pooled OR)是多个独立研究 OR 的加权平均(通常用随机效应模型,权重考虑研究内方差和研究间方差 tau^2)。解读同单个 OR:汇总 OR 的 95% CI 不含 1 则显著。需同时报告异质性指标:I^2 < 25% 为低异质性,25-75% 为中等,> 75% 为高异质性。I^2 高时,汇总 OR 的意义减弱,需探讨来源(亚组分析、Meta 回归)。森林图中,每项研究的菱形大小代表权重,底部总钻石(whole diamond)为汇总 OR。

Q5:怎么区分 OR、HR、RR?报论文时选哪个?

A:三者都是比值型效应量,解读框架相似(> 1 危险,< 1 保护,CI 不含 1 显著),但计算方法和适用场景完全不同:OR = 优势之比,来自 Logistic 回归或病例对照研究,不涉及时间;RR = 发生率之比,来自队列研究或 RCT 直接计算,不涉及时间;HR = 瞬时风险之比,来自 Cox 比例风险回归,专门用于时间到事件数据。选择原则:有随访时间 + 事件数据 → 用 Cox 回归报告 HR;无随访时间的二分类结局 → 用 Logistic 回归报告 OR;若是 RCT 且事件率较高 → 优先报告 RR(风险差 RD 也很重要,便于计算 NNT)。


相关阅读


本文首发于 ChatSRS 官方博客。如有问题或反馈,欢迎在 ChatSRS 站内 [用户中心 -> 帮助与反馈] 联系我们。