两样本MR及其敏感性分析R语言code
一、MR代码
#运行MR
library(TwoSampleMR)
#取暴露SNP
ANG<- extract_instruments(outcomes='ebi-a-GCST007518',p1=5e-08,clump=TRUE, r2=0.01,kb=100,access_token= NULL)
ANF<- extract_instruments(outcomes='ebi-a-GCST007518',p1=5e-08,clump=FALSE)
exp_dat <-clump_data(ANF,clump_r2=0.001,clump_kb=10000)
dim(ANG)
#导出SNP
install.packages(c("readxl","writexl"))
library(writexl)
write_xlsx(ANG, "ALCO.xlsx")
#提取结局SNP
t2d_out <- extract_outcome_data(
snps=ANG$SNP,
outcomes='ukb-b-19953',
proxies = FALSE,
maf_threshold = 0.01,
access_token = NULL
)
#协同
Mydata <- harmonise_data(
exposure_dat=ANG,
outcome_dat=t2d_out,
action= 2
)
#write_xlsx(Mydata, "Mydata.xlsx")
res <- mr(Mydata)
res
write_xlsx(res, "结果.xlsx")
#18种计算方法
mr(Mydata, method_list=c("mr_ivw_fe","mr_egger_regression"))
#生成OR值
generate_odds_ratios(res)
##二、敏感性分析代码
#水平多效性
mr_pleiotropy_test(Mydata)
#异质性
mr_heterogeneity(Mydata, method_list=c("mr_egger_regression", "mr_ivw"))
#留一法
single <- mr_leaveoneout(Mydata)
mr_leaveoneout_plot(single)
library(writexl)
write_xlsx(single, "single.xlsx")
#散点图
mr_scatter_plot(res,Mydata)
#森林图
pleio <- res_single <- mr_singlesnp(Mydata)
res_single <- mr_singlesnp(Mydata)
mr_forest_plot(res_single)
write_xlsx(pleio, "pleio.xlsx")
#漏斗图
mr_funnel_plot(res_single)