SuperAPI AI 工具集

bio-data-visualization-forest-funnel-plots

数据与分析

查看项目

更新于 10-16 07:00

技能介绍

本技能聚焦于用 R 构建森林图与漏斗图,服务于证据综合与效应量可视化。

用途:将多个研究或亚组的效应估计(HR、OR、RR、β 系数)汇总呈现,配合荟萃分析的合并结果;并通过漏斗图诊断发表偏倚。适用于单试验亚组展示、二分类/连续结局的荟萃分析、孟德尔随机化、亚组交互分析、网络荟萃分析与累积荟萃分析等场景。

主要能力:

  1. 森林图:以方块表示效应估计(方块大小对应权重/方差的倒数)、水平线表示 95% 置信区间,附标签,并可在底部加入荟萃合并的汇总菱形(固定效应或随机效应)。合并模型可选择固定效应或随机效应(如 DerSimonian-Laird、REML)。
  2. 漏斗图:绘制效应量与精确度(SE 的倒置)的关系,无偏时呈对称倒漏斗形;不对称提示缺失小样本阴性结果研究。提供 Egger 回归检验(formalize 不对称)、trim-and-fill(剪补法,Duval-Tweedie 2000)以及轮廓增强漏斗图(contour-enhanced,叠加显著性轮廓 p<0.10、<0.05、<0.01)。
  3. 工具链与版本:参考示例经 metafor 4.4+、forestplot 3.1+、ggforestplot 0.1+(亚组森林)、survminer 0.4.9+ 的 ggforest、MendelianRandomization 0.10+ 测试。使用前需验证已安装版本是否匹配(R 中用 packageVersion('<pkg>') 与 ?function_name);若版本不同,遇到 ImportError、AttributeError 或 TypeError 时应内省已装包并适配实际 API,而非重试。

关键统计考量:

  • 异质性优先:合并效应若研究间异质则意义有限。Higgins I² 量化研究间方差;25/50/75% 的解读分层来自 Cochrane Handbook §10.10.2,而非原始 Higgins-Thompson 论文(后者警告勿僵化使用截断值)。I²>75% 时必须解释异质性(亚组分析、元回归)。
  • 森林图底部必须报告:合并估计 + 95% CI + I² + τ² + Q 检验 p 值,否则只是效应列表而非荟萃分析。
  • 随机效应默认优于固定效应:固定效应假设所有研究估计同一真效应,多中心不同人群几乎不成立;REML 是现代默认,DerSimonian-Laird 为较老默认。
  • 小研究数(k<5):metafor::rma() 基于卡方渐近的 95% CI 严重反保守,应使用 Hartung-Knapp-Sidik-Jonkman(HKSJ)校正(test='knha'),使用 t 分布(k-1 自由度)并依 Q 统计量调整 SE,k=3 时仍校准良好;k<3 不建议做荟萃分析,仅报告个体研究效应,不做合并。k<5 时 I² 不可解释,不应报告。
  • 预测区间:addpred=TRUE 加入 95% 预测区间,表示新研究效应预期落点(Higgins-Thompson-Spiegelhalter 2009),在 I²>30% 时是最诚实的汇总。
  • 比值森林图 x 轴必须取对数:OR/HR/RR 具有乘性对称,线性轴会压缩小于 1 的效应。
  • 权重需可见:metafor::forest() 自动以方块大小编码权重;forestplot 包需 boxsize 参数。

常用代码模式(保留原文): library(metafor) res <- rma(yi = log_or, vi = log_or_se^2, data = studies, slab = paste(author, year), method = 'REML') summary(res) forest(res, atransf = exp, at = log(c(0.25, 0.5, 1, 2, 4)), refline = 0, xlab = 'Odds Ratio (95% CI)', header = c('Study', 'OR [95% CI]'), mlab = bquote(paste('RE Model (Q = ', .(round(res$QE, 2)), ', df = ', .(res$k - 1), ', p = ', .(format.pval(res$QEp, digits = 2)), '; ', I^2, ' = ', .(round(res$I2, 1)), '%)')), addpred = TRUE)

library(survminer) fit <- coxph(Surv(time, status) ~ treatment + age + sex + stage, data = df) ggforest(fit, data = df, main = 'Subgroup HRs', cpositions = c(0.02, 0.22, 0.4), fontsize = 0.7, refLabel = 'Reference', noDigits = 2)

res_hksj <- rma(yi = log_or, vi = log_or_se^2, data = studies, method = 'REML', test = 'knha')

funnel(res, xlab = 'log(OR)', refline = res$b) regtest(res, model = 'lm', predictor = 'sei') res_tf <- trimfill(res) forest(res_tf) funnel(res_tf) funnel(res, level = c(90, 95, 99), shade = c('white', 'gray55', 'gray75'), refline = 0, legend = TRUE)

决策树(按分析类型选择工具与合并模型):

  • 单试验亚组 HR:survminer::ggforest,无合并,基于 Coxph 对象
  • 二分类结局荟萃:metafor::rma -> forest(),DerSimonian-Laird 或 REML 随机效应,标准森林图
  • 连续结局荟萃:metafor::rma(yi, vi),REML 随机效应,标准森林图
  • 孟德尔随机化:MendelianRandomization::mr_forest,多种 MR 方法,MR 专用森林图
  • 亚组森林含交互 p:metafor::rma + addpoly + 交互模型,亚组 REML,嵌套森林图
  • 网络荟萃:netmeta::forest.netmeta,贝叶斯或频率派,网络森林图
  • 累积荟萃(随时间):metafor::cumul + forest,累积森林图

定量阈值:I²>50% 为实质性异质、>75% 为相当大的异质性(Cochrane Handbook §10.10.2);Egger 检验最少 k≥10(Sterne 2011 BMJ);I²>30% 时报告预测区间;比值森林图 x 轴取对数。

常见错误与修复(原文):高异质性下未解释即合并 -> 运行亚组或元回归、报告 I²/τ²/预测区间;异质数据用固定效应 -> 改 REML 随机效应并记录选择;k<10 时过度解读 Egger p -> 用视觉漏斗图与轮廓增强漏斗图;将 trim-and-fill 填补研究当作数据 -> 仅作敏感性分析,并列呈现原始与调整结果;亚组森林无交互检验 -> 加入治疗×亚组交互项并报告交互 p;比值森林图线性轴 -> 取对数轴;权重不可见(点大小一致)-> 用 metafor::forest 或设 boxsize。

方法冲突时的处理:固定效应显著而随机效应不显著且 I²>30% -> 信任随机效应;Egger 不显著但漏斗图不对称且 k<10 -> 信任视觉并报告轮廓增强漏斗图;trim-and-fill 填补大量研究 -> 谨慎,作为敏感性而非主要;亚组森林提示效应修饰但交互检验不显著 -> 信任交互检验;MR 森林图各方法估计发散 -> 运行 MR-Egger、加权中位数、基于众数(敏感性)并引用 Bowden 2015。

限制与注意事项:k<3 不做荟萃分析;k<5 不报告 I²;Egger 需 k≥10;trim-and-fill 仅为敏感性分析;轮廓增强漏斗图比通用不对称更具体地指示发表偏倚。版本不匹配时应内省包并适配 API。

信息来源为版本兼容性说明与方法学描述;具体安装命令、收费与价格信息暂未提供。