孟德尔随机化 代码出错 前几天还是好的(代码没有变动)

Error in ieugwasr::tophits(outcomes, pval = p1, clump = clump, r2 = r2,  : 
  参数没有用(access_token = access_token)
# 安装所需的包(如果尚未安装)
# install.packages("remotes")
# remotes::install_github("MRCIEU/TwoSampleMR")

# 载入 TwoSampleMR 包
library(TwoSampleMR)

# 设置多个暴露因子和结果的数据ID
exposureIDs <- c("ukb-b-9")   # 暴露因子数据ID
outcomeIDs <- c("ieu-a-1")    # 结果数据ID

# 设置工作目录
setwd("E:\\zhuomian\\01多暴露因素对应多结局")

# 创建一个空的数据框,用于存储所有结果
finalResults <- data.frame()

# 循环处理每个暴露因子
for (exposureID in exposureIDs) {
  # 循环处理每个结果
  for (outcomeID in outcomeIDs) {
    # 提取暴露因子数据  p1数值可调整
    exposure_dat <- extract_instruments(exposureID, p1 = 1e-6, clump = TRUE)
    
    # 提取结果数据
    outcome_dat <- extract_outcome_data(snps = exposure_dat$SNP, outcomes = outcomeID)
    
    # 将暴露因子数据和结果数据进行协调
    dat <- harmonise_data(exposure_dat, outcome_dat)
    
    # 提取需要保留的数据用于后续分析
    outTab <- dat[dat$mr_keep == "TRUE", ]
    write.csv(outTab, file = paste0("table.SNP_", exposureID, "_", outcomeID, ".csv"), row.names = FALSE)
    
    # 进行 MR 分析
    mrResult <- mr(dat)
    
    # 选择特定的 MR 方法进行分析
    # 可以根据需要进行选择,以下为几种可选方法
    # mr_method_list()$obj
    mrResult <- mr(dat, method_list = c("mr_ivw", "mr_egger_regression", "mr_weighted_median", "mr_simple_mode", "mr_weighted_mode"))
    
    # 生成 Odds Ratios(OR)的表格
    mrTab <- generate_odds_ratios(mrResult)
    write.csv(mrTab, file = paste0("table.MRresult_", exposureID, "_", outcomeID, ".csv"), row.names = FALSE)
    
    # 进行异质性检验
    heterTab <- mr_heterogeneity(dat)
    write.csv(heterTab, file = paste0("table.heterogeneity_", exposureID, "_", outcomeID, ".csv"), row.names = FALSE)
    
    # 进行多重性检验
    pleioTab <- mr_pleiotropy_test(dat)
    write.csv(pleioTab, file = paste0("table.pleiotropy_", exposureID, "_", outcomeID, ".csv"), row.names = FALSE)
  
    # 将每次循环中生成的结果追加到总的结果数据框
    finalResults <- rbind(finalResults, cbind(exposureID = exposureID, outcomeID = outcomeID, mrTab))
  }
}

# 将 dev.off() 移到循环外部
dev.off()

# 将最终的结果写入一个总的CSV文件
write.csv(finalResults, file = "finalResults.csv", row.names = FALSE)

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
输入暴露和结局的数据,然后进行孟德尔随机化分析,得出暴露和结局之间的因果关系。下面是使用TwoSampleMR包进行孟德尔随机化分析的步骤: ```R # 安装TwoSampleMR包 install.packages("TwoSampleMR") 多变量孟德尔随机化是# 加载TwoSampleMR包 library(TwoSampleMR) # 输入暴露和结局的数据 exposure_data <- read一种用于实验设计的方法,可以通过随机分配处理组来减少实验中的.table("exposure_data.txt", header=TRUE) outcome_data <- read.table("outcome_data.txt", header=TRUE) # 进行孟混杂因素。下面是一个使用R语言进行多变量孟德尔随机化代码示例:\n\```R\# 安装并加载“randomizR”包\ins.packges(\randomizR\")\ibrary德尔随机化分析 mr_results <- mr_egger(exposure_data, outcome_data) # 查看结果 summary(mr(randomizR)\n\# 创建一个包含3个处理组和2个因素的数据框\f <- .fram(\ group_results) ``` = (\A\", \B\", \C\"),\ factor1 = (1, 2, 3),\ factor2 = 需要注意的是,输入的数据必须符合一定的格式要求,具体可以参考TwoSampleMR包的文档。此外, (\X\", \Y\", \Z\")\)\n\# 进行多变量孟德尔随机化\randomiz(df, str还有其他一些孟德尔随机化的R包,例如MendelianRandomization和TwoSampleMRGUI等, = \factor1\", block = \factor2\", s = 123)\```可以根据具体需求选择使用。 \n\在这个示例中,我们使用了R语言中的“randomizR”包来进行多变量孟德尔随机化。首先,我们创建了一个包含3个处理组和2个因素的数据框。然后,我们使用“randomiz”函数进行随机化,其中“str”参数指定了分层因素,
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值