← 返回教程列表

🔍 MR-PRESSO方法解读

水平多效性检验与离群值检测

📖 什么是MR-PRESSO?

MR-PRESSO(Mendelian Randomization Pleiotropy RESidual Sum and Outlier)是一种检测水平多效性的方法。

🎯 核心假设

水平多效性(Horizontal Pleiotropy)

指工具变量通过暴露以外的路径影响结局,是MR分析的主要偏倚来源之一。

MR-PRESSO检验

通过重采样方法检验是否存在显著的全局水平多效性

离群值检测

识别并移除可能导致偏倚的离群SNP

📊 MR-PRESSO结果解读

检验类型 指标 判断标准
全局检验 p-value p < 0.05 存在水平多效性
离群值检验 RSSobs 识别异常SNP
distortions检验 p-value p < 0.05 校正后效应显著不同
因果效应 Beta, OR 校正后的效应估计值

💻 R代码实现

安装MRPRESSO包

# 安装MRPRESSO包
# 方法1:从GitHub安装
devtools::install_github("rondolab/MR-PRESSO")

# 方法2:从CRAN安装
install.packages("MRPRESSO")

运行MR-PRESSO

library(MRPRESSO)

# 读取数据(包含暴露和结局的汇总统计)
# 需要列:SNP, beta_exposure, beta_outcome, se_exposure, se_outcome
data <- read.table("mr_data.txt", header = TRUE)

# 运行MR-PRESSO
mr_presso <- mr_presso(
  BetaExposure = data$beta_exposure,  # 暴露效应
  BetaOutcome = data$beta_outcome,   # 结局效应
  SEExposure = data$se_exposure,    # 暴露标准误
  SEOutcome = data$se_outcome,     # 结局标准误
  OUTLIERtest = TRUE,          # 离群值检测
  DISTORTIONtest = TRUE,        # 效应扭曲检验
  NbDistribution = 1000,        # 重采样次数
  SignifThreshold = 0.05        # 显著性阈值
)

# 查看结果
print(mr_presso)

结果解读

# 全局检验结果
# MR-PRESSO global test: p-value
global_p <- mr_presso$`Main MR-PRESSO results`$`Global Test`$`P-value`

# 离群值SNP列表
outlier_snps <- mr_presso$`Outlier Results`$`SNPs`

# 校正后的因果效应
# MR-PRESSO med: (Raw) Beta, (Adjusted) Beta
raw_beta <- mr_presso$`Main MR-PRESSO results`$`Main MR-PRESSO results`$`Causal Estimate`
adj_beta <- mr_presso$`Main MR-PRESSO results`$`MR-PRESSO results`$`Causal Estimate`

⚠️ 注意事项

📚 相关教程