兩樣本MR及其敏感性分析R語(yǔ)言code
一、MR代碼
#運(yùn)行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) ?????
#導(dǎo)出SNP
install.packages(c("readxl","writexl"))
library(writexl)
write_xlsx(ANG, "ALCO.xlsx")
#提取結(jié)局SNP
??t2d_out <- extract_outcome_data(
????snps=ANG$SNP,
????outcomes='ukb-b-19953',
????proxies = FALSE,
????maf_threshold = 0.01,
????access_token = NULL
??)
?
#協(xié)同
??Mydata <- harmonise_data(
??exposure_dat=ANG,
??outcome_dat=t2d_out,
??action= 2
)
#write_xlsx(Mydata, "Mydata.xlsx")
?
res <- mr(Mydata)
res
write_xlsx(res, "結(jié)果.xlsx")
#18種計(jì)算方法
mr(Mydata, method_list=c("mr_ivw_fe","mr_egger_regression"))
#生成OR值
generate_odds_ratios(res)
?
##二、敏感性分析代碼
#水平多效性
mr_pleiotropy_test(Mydata)
#異質(zhì)性
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")
#散點(diǎn)圖
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)