📚 Meta分析核心概念
🔬 什么是Meta分析?
Meta分析是一种统计方法,将多个独立研究的结果合并汇总,以获得更精确的效应量估计。
⚖️ 固定效应 vs 随机效应
固定效应假设所有研究共享同一真实效应;随机效应允许效应量在不同研究间变异。
🌲 异质性检验
Q检验和I²统计量用于评估研究间的异质性。I² > 50%通常表示中等至高度异质性。
📉 发表偏倚检测
漏斗图、Egger检验、Begg检验用于检测是否存在发表偏倚。剪补法可校正偏倚影响。
💻 R语言Meta分析实战
安装并加载meta包
# 安装meta包
install.packages("meta")
# 加载包
library(meta)
二分类变量Meta分析 (metabin)
# 读取数据
mydata <- read.csv("your_data.csv")
# 进行Meta分析 (OR值)
metadata <- metabin(
Case.CT.TT, # 病例组事件数
Case.CT.TT + Case.CC, # 病例组总数
Control.CT.TT, # 对照组事件数
Control.CT.TT + Control.CC, # 对照组总数
data = mydata,
sm = "OR", # 效应量类型
comb.fixed = FALSE, # 固定效应
comb.random = TRUE, # 随机效应
studlab = paste(Author, Year, sep = ",")
)
# 查看结果
metadata
连续性变量Meta分析 (metagen)
# 连续性变量Meta分析
# 准备数据: 效应值(TE) 和 标准误(seTE)
metadata <- metagen(
TE = beta, # 效应值
seTE = se, # 标准误
data = mydata,
sm = "MD", # 均值差 (可用SMD)
n.e = ncase, # 实验组样本量
n.c = ncontrol, # 对照组样本量
pval = p, # p值
random = TRUE,
common = FALSE,
studlab = paste(Author, Year, sep = ",")
)
metadata
森林图绘制
# 绘制森林图
forest(metadata)
# 保存为PDF
pdf("forest_plot.pdf", width = 12, height = 8)
forest(metadata)
dev.off()
亚组分析
# 按某个变量进行亚组分析
metadata1 <- metabin(
Case.CT.TT, Case.CT.TT + Case.CC,
Control.CT.TT, Control.CT.TT + Control.CC,
data = mydata,
sm = "OR",
comb.fixed = FALSE, comb.random = TRUE,
studlab = paste(Author, Year, sep = ","),
byvar = Country, # 按国家进行亚组分析
print.byvar = FALSE
)
# 绘制亚组森林图
forest(metadata1)
异质性检验与敏感性分析
# 异质性检验 (已包含在metadata结果中)
# Q检验 p < 0.10 表示存在异质性
# I² 统计量: <25%低, 25-50%中, >50%高
# 敏感性分析 - Leave-one-out
metainf(metadata, pooled = "random")
forest(metainf(metadata, pooled = "random"), comb.random = TRUE)
发表偏倚检测
# 漏斗图
funnel(metadata)
pdf("funnel.pdf")
funnel(metadata)
dev.off()
# 剪补法 (Trim-and-fill)
tf0 <- trimfill(metadata)
funnel(tf0, pch = ifelse(tf0$trimfill, 1, 23))
# Egger检验
metabias(metadata, method.bias = "score")
📁 配套资源
📹 视频教程
Meta分析实操视频 + 理论基础讲解
📊 示例数据
OR-RR转换小工具 + 示例数据集
📝 代码文档
完整R代码 + 详细注释说明