Glossary:

Abbreviation Meaning
A2, A2GRCH38 Severe respiratory COVID data
B2, B2GRCH38 Hospitalized COVID data
C2, C2GRCH38 COVID data vs population
AKI_J, J, FastGWA Jiang L 2021 AKI dataset
AKI_ZW, Z, SAIGE Zhou W AKI data set

Pipeline

The process for preparing the data is relatively the same for all the tests, so I will only be showing the process for A2 COVID-19 and Jiang L AKI.

Importing exposure

exposure_path1 = "resources/A2eurGRCH38.tsv.gz"
exposure_c1 <- read_tsv(exposure_path1,comment = "##", 
                        col_select = c(1,2,3,4,5,6,7,8,9,14,15))
## Rows: 12195847 Columns: 11
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr (4): REF, ALT, SNP, rsid
## dbl (7): #CHR, POS, all_meta_N, all_inv_var_meta_beta, all_inv_var_meta_sebe...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
colnames(exposure_c1)<- c("CHR","POS","effect_allele.exposure","other_allele.exposure","SNP","N","beta.exposure","se.exposure","pval","eaf.exposure","rsid")
exposure_c1$exposure <- rep(c("COVID19"),times=nrow(exposure_c1));
clump_id<- "a2grch"
exposure_c1$z.exposure <- exposure_c1$beta.exposure/exposure_c1$se.exposure;
exposure_c1$id.exposure <- rep(c(clump_id),times=nrow(exposure_c1));

exposure1 <- exposure_c1 %>%
  format_data(.,
    type = "exposure",
    snps = NULL,
    header = TRUE,
    phenotype_col = "exposure",
    snp_col ="rsid",
    beta_col = "beta.exposure",
    se_col = "se.exposure",
    eaf_col = "eaf.exposure",
    effect_allele_col = "effect_allele.exposure",
    other_allele_col = "other_allele.exposure",
    pval_col = "pval",
    samplesize_col = "N",
    z_col = "z.exposure",
    chr_col = "CHR",
    pos_col = "POS",
    log_pval = FALSE
) %>%
  as_tibble()
exposure_clump1 <-ld_clump(
    #dplyr::tibble(rsid=exposure_c1$rsid, pval=exposure_c1$pval, id=exposure_c1$trait_id),
    dat = exposure_c1,
    plink_bin = genetics.binaRies::get_plink_binary(),
    bfile = "1kgv3/EUR"
    
)
## Clumping H7JBQf, 12195847 variants, using EUR population reference
## Removing 12192919 of 12195847 variants due to LD with other variants or absence from LD reference panel
exposure_dat1 <- filter(exposure_clump1, pval < 5e-8)

Perform Clumping and Filtering

exposure_clump1 <-ld_clump(
    #dplyr::tibble(rsid=exposure_c1$rsid, pval=exposure_c1$pval, id=exposure_c1$trait_id),
    dat = exposure_c1,
    plink_bin = genetics.binaRies::get_plink_binary(),
    bfile = "1kgv3/EUR"
    
)
## Clumping luq9sB, 12195847 variants, using EUR population reference
## Removing 12192919 of 12195847 variants due to LD with other variants or absence from LD reference panel
exposure_dat1 <- filter(exposure_clump1, pval < 5e-8)

Import Outcome

outcome_path1 = "resources/JiangL2021.tsv"
outcome_ss1 <- read_tsv(outcome_path1)
## Rows: 11831932 Columns: 14
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: "\t"
## chr  (3): variant_id, effect_allele, other_allele
## dbl (11): chromosome, base_pair_location, N, effect_allele_frequency, T, SE_...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
colnames(outcome_ss1)<- c("CHR","SNP","POS","effect_allele.outcome","other_allele.outcome","N","eaf.outcome","T","SE_T","P_NoSpa","beta.outcome","se.outcome","pval.outcome","CONVERGE")
outcome_ss1$Z <- outcome_ss1$se.outcome/outcome_ss1$beta.outcome;
outcome_ss1$outcome <- rep(c("AKI_J"),times=nrow(outcome_ss1));
clump_id <- "jiangl";
outcome_ss1$id.outcome <- rep(c(clump_id),times=nrow(outcome_ss1));
outcome1 <- outcome_ss1 %>%
  format_data(.,
              type = "outcome",
              snps = NULL,
              header = TRUE,
              phenotype_col = "outcome",
              snp_col = "SNP",
              beta_col = "beta.outcome",
              se_col = "se.outcome",
              eaf_col = "eaf.outcome",
              effect_allele_col = "effect_allele.outcome",
              other_allele_col = "other_allele.outcome",
              pval_col = "pval.outcome",
              samplesize_col = "N",
              z_col = "Z",
              chr_col = "CHR",
              pos_col = "POS",
              log_pval = FALSE
  ) %>%
  as_tibble()

Filter Exposure and Outcome

exposure_snps <- exposure_dat1
outcome_clumped1 <- filter(outcome_ss1, SNP %in% exposure_snps$rsid)
outcome_filtered1 <- dplyr::tibble(SNP=outcome_clumped1$SNP, beta.outcome=outcome_clumped1$beta.outcome, se.outcome=outcome_clumped1$se.outcome, effect_allele.outcome = outcome_clumped1$effect_allele.outcome, other_allele.outcome = outcome_clumped1$other_allele.outcome,eaf.outcome = outcome_clumped1$eaf.outcome , outcome = outcome_clumped1$outcome, id.outcome = outcome_clumped1$id.outcome)

outcome_clumped <- outcome_clumped1

Harmonize Exposure and Outcome

mr_dat <- harmonise_data(dplyr::tibble(SNP=exposure_snps$rsid, beta.exposure=exposure_snps$beta.exposure, se.exposure=exposure_snps$se.exposure, effect_allele.exposure = exposure_snps$effect_allele.exposure, other_allele.exposure = exposure_snps$other_allele.exposure,eaf.exposure = exposure_snps$eaf.exposure, id.exposure = exposure_snps$id.exposure, exposure = exposure_snps$exposure), dplyr::tibble(SNP=outcome_clumped$SNP, beta.outcome=outcome_clumped$beta.outcome, se.outcome=outcome_clumped$se.outcome, effect_allele.outcome = outcome_clumped$effect_allele.outcome, other_allele.outcome = outcome_clumped$other_allele.outcome,eaf.outcome = outcome_clumped$eaf.outcome , outcome = outcome_clumped$outcome, id.outcome = outcome_clumped$id.outcome), action = 2)
## Harmonising COVID19 (a2grch) and AKI_J (jiangl)
## Removing the following SNPs for being palindromic with intermediate allele frequencies:
## rs2569703
#write_csv(mr_dat, "data/harmonized_data_A2_JiangL2021.csv");

Results

A2GRCH38 and Jiang L AKI

Severe respiratory COVID-19

mr_dat <- read_csv('data/harmonized_data_A2_JiangL2021.csv')
mr_res <- mr(mr_dat, method_list = c(
  "mr_two_sample_ml",  "mr_egger_regression", "mr_egger_regression_bootstrap",
  "mr_simple_median", "mr_weighted_median", "mr_penalised_weighted_median", 
  "mr_ivw_fe", "mr_ivw_mre",
  "mr_simple_mode", "mr_weighted_mode", "mr_weighted_mode_nome", "mr_simple_mode_nome"
  ))
res_single <- mr_singlesnp(mr_dat, all_method = c("mr_ivw_fe", "mr_egger_regression", "mr_weighted_median", "mr_weighted_mode")) %>% as_tibble()
odd <- generate_odds_ratios(mr_res)
dt <-odd[,3:14]
kbl(dt) %>%
  kable_styling(bootstrap_options = c("striped", "hover","bordered"))
outcome exposure method nsnp b se pval lo_ci up_ci or or_lci95 or_uci95
AKI_J COVID19 Maximum likelihood 28 0.0055413 0.0608019 0.9273834 -0.1136305 0.1247131 1.0055567 0.8925877 1.132823
AKI_J COVID19 MR Egger 28 0.1306953 0.1165462 0.2723668 -0.0977352 0.3591259 1.1396205 0.9068890 1.432077
AKI_J COVID19 MR Egger (bootstrap) 28 0.1678180 0.1374111 0.1120000 -0.1015078 0.4371438 1.1827214 0.9034742 1.548279
AKI_J COVID19 Simple median 28 -0.0591082 0.0957651 0.5370894 -0.2468077 0.1285914 0.9426048 0.7812909 1.137225
AKI_J COVID19 Weighted median 28 0.0865636 0.0917794 0.3455935 -0.0933239 0.2664512 1.0904208 0.9108984 1.305324
AKI_J COVID19 Penalised weighted median 28 0.0880535 0.0894570 0.3249626 -0.0872822 0.2633893 1.0920466 0.9164184 1.301333
AKI_J COVID19 Inverse variance weighted (fixed effects) 28 0.0054569 0.0604061 0.9280198 -0.1129390 0.1238528 1.0054718 0.8932051 1.131849
AKI_J COVID19 Inverse variance weighted (multiplicative random effects) 28 0.0054569 0.0632007 0.9311946 -0.1184165 0.1293302 1.0054718 0.8883260 1.138066
AKI_J COVID19 Simple mode 28 -0.1475087 0.1651791 0.3797358 -0.4712598 0.1762424 0.8628549 0.6242154 1.192727
AKI_J COVID19 Weighted mode 28 0.0881540 0.0919664 0.3462930 -0.0921002 0.2684082 1.0921563 0.9120138 1.307881
AKI_J COVID19 Weighted mode (NOME) 28 0.0881540 0.0936157 0.3547172 -0.0953328 0.2716409 1.0921563 0.9090703 1.312116
AKI_J COVID19 Simple mode (NOME) 28 -0.1475087 0.1694903 0.3918045 -0.4797098 0.1846923 0.8628549 0.6189630 1.202848
#kable(odd[,3:14])

Scatter Plot

Forrest Plot

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Leave-one-out

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Radial Plot

## Converting:
##  - exposure: COVID19
##  - outcome: AKI_J
## 
## Radial IVW
## 
##                     Estimate  Std.Error    t value  Pr(>|t|)
## Effect (Mod.2nd) 0.005456879 0.06320070 0.08634207 0.9311945
## Iterative        0.005456879 0.06320070 0.08634207 0.9311945
## Exact (FE)       0.005518292 0.06040619 0.09135309 0.9272120
## Exact (RE)       0.005538319 0.06726727 0.08233305 0.9349892
## 
## 
## Residual standard error: 1.046 on 27 degrees of freedom
## 
## F-statistic: 0.01 on 1 and 27 DF, p-value: 0.932
## Q-Statistic for heterogeneity: 29.55593 on 27 DF , p-value: 0.3344711
## 
##  Outliers detected 
## Number of iterations = 2

Funnel Plot

Diagnostics

A2GRCH38 and Zhou W AKI

Severe respiratory COVID-19

mr_dat <- read_csv('data/harmonized_data_A2_Zhouw.csv')
mr_res <- mr(mr_dat, method_list = c(
  "mr_two_sample_ml",  "mr_egger_regression", "mr_egger_regression_bootstrap",
  "mr_simple_median", "mr_weighted_median", "mr_penalised_weighted_median", 
  "mr_ivw_fe", "mr_ivw_mre",
  "mr_simple_mode", "mr_weighted_mode", "mr_weighted_mode_nome", "mr_simple_mode_nome"
  ))
res_single <- mr_singlesnp(mr_dat, all_method = c("mr_ivw_fe", "mr_egger_regression", "mr_weighted_median", "mr_weighted_mode")) %>% as_tibble()
odd <- generate_odds_ratios(mr_res)
dt <-odd[,3:14]
kbl(dt) %>%
  kable_styling(bootstrap_options = c("striped", "hover","bordered"))
outcome exposure method nsnp b se pval lo_ci up_ci or or_lci95 or_uci95
AKI_ZW COVID19 Maximum likelihood 28 -0.0035256 0.0254308 0.8897391 -0.0533698 0.0463187 0.9964806 0.9480293 1.047408
AKI_ZW COVID19 MR Egger 28 0.0404825 0.0657675 0.5435494 -0.0884218 0.1693868 1.0413131 0.9153747 1.184578
AKI_ZW COVID19 MR Egger (bootstrap) 28 0.0712321 0.0640802 0.1310000 -0.0543651 0.1968292 1.0738304 0.9470863 1.217536
AKI_ZW COVID19 Simple median 28 -0.0503876 0.0484078 0.2979225 -0.1452669 0.0444917 0.9508608 0.8647915 1.045496
AKI_ZW COVID19 Weighted median 28 0.0406463 0.0375678 0.2792775 -0.0329866 0.1142792 1.0414836 0.9675515 1.121065
AKI_ZW COVID19 Penalised weighted median 28 0.0450493 0.0388318 0.2460033 -0.0310611 0.1211597 1.0460794 0.9694163 1.128805
AKI_ZW COVID19 Inverse variance weighted (fixed effects) 28 -0.0034876 0.0251371 0.8896538 -0.0527563 0.0457812 0.9965185 0.9486111 1.046845
AKI_ZW COVID19 Inverse variance weighted (multiplicative random effects) 28 -0.0034876 0.0349165 0.9204369 -0.0719240 0.0649488 0.9965185 0.9306017 1.067104
AKI_ZW COVID19 Simple mode 28 -0.2012512 0.1124614 0.0847561 -0.4216755 0.0191731 0.8177070 0.6559469 1.019358
AKI_ZW COVID19 Weighted mode 28 0.0398098 0.0388161 0.3141814 -0.0362698 0.1158895 1.0406129 0.9643801 1.122872
AKI_ZW COVID19 Weighted mode (NOME) 28 0.0398098 0.0418286 0.3496729 -0.0421742 0.1217939 1.0406129 0.9587028 1.129521
AKI_ZW COVID19 Simple mode (NOME) 28 -0.2012512 0.1137572 0.0881686 -0.4242152 0.0217129 0.8177070 0.6542830 1.021950

Scatter Plot

Forrest Plot

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Leave-one-out

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Radial Plot

## Converting:
##  - exposure: COVID19
##  - outcome: AKI_ZW
## 
## Radial IVW
## 
##                      Estimate  Std.Error     t value  Pr(>|t|)
## Effect (Mod.2nd) -0.003487579 0.03491651 -0.09988336 0.9204369
## Iterative        -0.003487579 0.03491651 -0.09988336 0.9204369
## Exact (FE)       -0.003569377 0.02513723 -0.14199564 0.8870835
## Exact (RE)       -0.003533037 0.03532745 -0.10000825 0.9210767
## 
## 
## Residual standard error: 1.389 on 27 degrees of freedom
## 
## F-statistic: 0.01 on 1 and 27 DF, p-value: 0.921
## Q-Statistic for heterogeneity: 52.09437 on 27 DF , p-value: 0.002584395
## 
##  No significant outliers 
## Number of iterations = 2
## [1] "No significant Outliers"

Funnel Plot

Diagnostics

B2GRCH38 and Jiang L AKI

Hospitalized COVID-19

mr_dat <- read_csv('data/harmonized_data_B2_JiangL2021.csv')
mr_res <- mr(mr_dat, method_list = c(
  "mr_two_sample_ml",  "mr_egger_regression", "mr_egger_regression_bootstrap",
  "mr_simple_median", "mr_weighted_median", "mr_penalised_weighted_median", 
  "mr_ivw_fe", "mr_ivw_mre",
  "mr_simple_mode", "mr_weighted_mode", "mr_weighted_mode_nome", "mr_simple_mode_nome"
  ))
res_single <- mr_singlesnp(mr_dat, all_method = c("mr_ivw_fe", "mr_egger_regression", "mr_weighted_median", "mr_weighted_mode")) %>% as_tibble()
odd <- generate_odds_ratios(mr_res)
dt <-odd[,3:14]
kbl(dt) %>%
  kable_styling(bootstrap_options = c("striped", "hover","bordered"))
outcome exposure method nsnp b se pval lo_ci up_ci or or_lci95 or_uci95
AKI_J COVID19_B2 Maximum likelihood 12 -0.1149946 0.1443710 0.4257290 -0.3979617 0.1679725 0.8913710 0.6716878 1.182904
AKI_J COVID19_B2 MR Egger 12 0.5148575 0.5874303 0.4013456 -0.6365060 1.6662209 1.6734000 0.5291380 5.292131
AKI_J COVID19_B2 MR Egger (bootstrap) 12 0.3894218 0.4229849 0.1700000 -0.4396286 1.2184722 1.4761271 0.6442757 3.382017
AKI_J COVID19_B2 Simple median 12 -0.1379878 0.2068251 0.5046626 -0.5433650 0.2673894 0.8711093 0.5807906 1.306549
AKI_J COVID19_B2 Weighted median 12 -0.1215526 0.1998601 0.5430625 -0.5132784 0.2701732 0.8855445 0.5985301 1.310191
AKI_J COVID19_B2 Penalised weighted median 12 -0.1115025 0.1998823 0.5769531 -0.5032718 0.2802668 0.8944892 0.6045495 1.323483
AKI_J COVID19_B2 Inverse variance weighted (fixed effects) 12 -0.1162303 0.1428149 0.4157294 -0.3961475 0.1636869 0.8902702 0.6729074 1.177846
AKI_J COVID19_B2 Inverse variance weighted (multiplicative random effects) 12 -0.1162303 0.1848688 0.5295340 -0.4785732 0.2461127 0.8902702 0.6196669 1.279044
AKI_J COVID19_B2 Simple mode 12 -0.1647028 0.3026739 0.5971891 -0.7579436 0.4285380 0.8481457 0.4686291 1.535012
AKI_J COVID19_B2 Weighted mode 12 -0.1121711 0.2580572 0.6722023 -0.6179632 0.3936209 0.8938913 0.5390413 1.482339
AKI_J COVID19_B2 Weighted mode (NOME) 12 -0.1121711 0.2448357 0.6557638 -0.5920490 0.3677067 0.8938913 0.5531926 1.444418
AKI_J COVID19_B2 Simple mode (NOME) 12 -0.1647028 0.3212717 0.6183274 -0.7943954 0.4649898 0.8481457 0.4518543 1.591998

Scatter Plot

Forrest Plot

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Leave-one-out

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Radial Plot

## Converting:
##  - exposure: COVID19_B2
##  - outcome: AKI_J
## 
## Radial IVW
## 
##                    Estimate Std.Error    t value  Pr(>|t|)
## Effect (Mod.2nd) -0.1162353 0.1848668 -0.6287515 0.5295118
## Iterative        -0.1162353 0.1848668 -0.6287515 0.5295118
## Exact (FE)       -0.1188575 0.1428724 -0.8319135 0.4054578
## Exact (RE)       -0.1177828 0.1727747 -0.6817134 0.5095189
## 
## 
## Residual standard error: 1.294 on 11 degrees of freedom
## 
## F-statistic: 0.4 on 1 and 11 DF, p-value: 0.542
## Q-Statistic for heterogeneity: 18.41743 on 11 DF , p-value: 0.07238655
## 
##  Outliers detected 
## Number of iterations = 2

Funnel Plot

Diagnostics

B2GRCH38 and Zhou W AKI

Hospitalized COVID-19

mr_dat <- read_csv('data/harmonized_data_B2_Zhouw.csv')
mr_res <- mr(mr_dat, method_list = c(
  "mr_two_sample_ml",  "mr_egger_regression", "mr_egger_regression_bootstrap",
  "mr_simple_median", "mr_weighted_median", "mr_penalised_weighted_median", 
  "mr_ivw_fe", "mr_ivw_mre",
  "mr_simple_mode", "mr_weighted_mode", "mr_weighted_mode_nome", "mr_simple_mode_nome"
  ))
res_single <- mr_singlesnp(mr_dat, all_method = c("mr_ivw_fe", "mr_egger_regression", "mr_weighted_median", "mr_weighted_mode")) %>% as_tibble()
odd <- generate_odds_ratios(mr_res)
dt <-odd[,3:14]
kbl(dt) %>%
  kable_styling(bootstrap_options = c("striped", "hover","bordered"))
outcome exposure method nsnp b se pval lo_ci up_ci or or_lci95 or_uci95
AKI_ZW COVID19_B2 Maximum likelihood 33 0.0124439 0.0362744 0.7315613 -0.0586540 0.0835418 1.0125217 0.9430330 1.087131
AKI_ZW COVID19_B2 MR Egger 33 0.0580105 0.0888887 0.5188123 -0.1162114 0.2322324 1.0597261 0.8902870 1.261413
AKI_ZW COVID19_B2 MR Egger (bootstrap) 33 -0.0418543 0.0825360 0.2910000 -0.2036249 0.1199162 0.9590095 0.8157683 1.127402
AKI_ZW COVID19_B2 Simple median 33 -0.0069752 0.0628845 0.9116792 -0.1302287 0.1162784 0.9930491 0.8778946 1.123309
AKI_ZW COVID19_B2 Weighted median 33 0.0606286 0.0569320 0.2869076 -0.0509581 0.1722152 1.0625042 0.9503185 1.187933
AKI_ZW COVID19_B2 Penalised weighted median 33 0.0658496 0.0604267 0.2758266 -0.0525868 0.1842859 1.0680660 0.9487720 1.202360
AKI_ZW COVID19_B2 Inverse variance weighted (fixed effects) 33 0.0122207 0.0358888 0.7334677 -0.0581214 0.0825628 1.0122957 0.9435354 1.086067
AKI_ZW COVID19_B2 Inverse variance weighted (multiplicative random effects) 33 0.0122207 0.0456394 0.7888785 -0.0772325 0.1016739 1.0122957 0.9256746 1.107022
AKI_ZW COVID19_B2 Simple mode 33 -0.0463340 0.1216877 0.7058964 -0.2848418 0.1921738 0.9547231 0.7521333 1.211881
AKI_ZW COVID19_B2 Weighted mode 33 0.0426991 0.0626283 0.5002798 -0.0800524 0.1654505 1.0436238 0.9230680 1.179925
AKI_ZW COVID19_B2 Weighted mode (NOME) 33 0.0426991 0.0639973 0.5094265 -0.0827356 0.1681337 1.0436238 0.9205946 1.183095
AKI_ZW COVID19_B2 Simple mode (NOME) 33 -0.0463340 0.1182215 0.6977117 -0.2780481 0.1853801 0.9547231 0.7572604 1.203676

Scatter Plot

Forrest Plot

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Leave-one-out

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Radial Plot

## Converting:
##  - exposure: COVID19_B2
##  - outcome: AKI_ZW
## 
## Radial IVW
## 
##                    Estimate  Std.Error   t value  Pr(>|t|)
## Effect (Mod.2nd) 0.01222076 0.04563936 0.2677679 0.7888780
## Iterative        0.01222076 0.04563936 0.2677679 0.7888780
## Exact (FE)       0.01248151 0.03588968 0.3477742 0.7280098
## Exact (RE)       0.01239948 0.04652568 0.2665083 0.7915576
## 
## 
## Residual standard error: 1.272 on 32 degrees of freedom
## 
## F-statistic: 0.07 on 1 and 32 DF, p-value: 0.791
## Q-Statistic for heterogeneity: 51.74766 on 32 DF , p-value: 0.01501886
## 
##  No significant outliers 
## Number of iterations = 2
## [1] "No significant Outliers"

Funnel Plot

Diagnostics

C2GRCH38 and Jiang L AKI

COVID-19 vs Population

mr_dat <- read_csv('data/harmonized_data_C2_JiangL2021.csv')
mr_res <- mr(mr_dat, method_list = c(
  "mr_two_sample_ml",  "mr_egger_regression", "mr_egger_regression_bootstrap",
  "mr_simple_median", "mr_weighted_median", "mr_penalised_weighted_median", 
  "mr_ivw_fe", "mr_ivw_mre",
  "mr_simple_mode", "mr_weighted_mode", "mr_weighted_mode_nome", "mr_simple_mode_nome"
  ))
res_single <- mr_singlesnp(mr_dat, all_method = c("mr_ivw_fe", "mr_egger_regression", "mr_weighted_median", "mr_weighted_mode")) %>% as_tibble()
odd <- generate_odds_ratios(mr_res)
dt <-odd[,3:14]
kbl(dt) %>%
  kable_styling(bootstrap_options = c("striped", "hover","bordered"))
outcome exposure method nsnp b se pval lo_ci up_ci or or_lci95 or_uci95
AKI_J COVID19_C2 Maximum likelihood 14 0.1212403 0.2269174 0.5931392 -0.3235179 0.5659984 1.1288961 0.7235990 1.761205
AKI_J COVID19_C2 MR Egger 14 -0.2896660 0.3962789 0.4788309 -1.0663727 0.4870408 0.7485136 0.3442550 1.627493
AKI_J COVID19_C2 MR Egger (bootstrap) 14 -0.9699419 0.6139944 0.0550000 -2.1733709 0.2334870 0.3791051 0.1137934 1.262996
AKI_J COVID19_C2 Simple median 14 0.5427759 0.3464651 0.1172057 -0.1362956 1.2218474 1.7207770 0.8725847 3.393451
AKI_J COVID19_C2 Weighted median 14 -0.0654631 0.3250714 0.8404010 -0.7026030 0.5716769 0.9366336 0.4952944 1.771235
AKI_J COVID19_C2 Penalised weighted median 14 -0.0654631 0.3133303 0.8345055 -0.6795905 0.5486643 0.9366336 0.5068245 1.730940
AKI_J COVID19_C2 Inverse variance weighted (fixed effects) 14 0.1196231 0.2262448 0.5969906 -0.3238167 0.5630629 1.1270720 0.7233828 1.756043
AKI_J COVID19_C2 Inverse variance weighted (multiplicative random effects) 14 0.1196231 0.1914222 0.5320252 -0.2555644 0.4948106 1.1270720 0.7744792 1.640188
AKI_J COVID19_C2 Simple mode 14 0.4345967 0.4910417 0.3922057 -0.5278450 1.3970384 1.5443400 0.5898748 4.043208
AKI_J COVID19_C2 Weighted mode 14 -0.1161206 0.3426665 0.7401162 -0.7877469 0.5555057 0.8903678 0.4548685 1.742822
AKI_J COVID19_C2 Weighted mode (NOME) 14 -0.1161206 0.3344368 0.7339884 -0.7716168 0.5393756 0.8903678 0.4622651 1.714936
AKI_J COVID19_C2 Simple mode (NOME) 14 0.4345967 0.5389195 0.4345046 -0.6216856 1.4908789 1.5443400 0.5370385 4.440997

Scatter Plot

Forrest Plot

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Leave-one-out

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Radial Plot

## Converting:
##  - exposure: COVID19_C2
##  - outcome: AKI_J
## 
## Radial IVW
## 
##                   Estimate Std.Error   t value  Pr(>|t|)
## Effect (Mod.2nd) 0.1196221 0.1914224 0.6249121 0.5320288
## Iterative        0.1196221 0.1914224 0.6249121 0.5320288
## Exact (FE)       0.1203102 0.2262650 0.5317223 0.5949184
## Exact (RE)       0.1203221 0.2210885 0.5442261 0.5954976
## 
## 
## Residual standard error: 0.846 on 13 degrees of freedom
## 
## F-statistic: 0.39 on 1 and 13 DF, p-value: 0.543
## Q-Statistic for heterogeneity: 9.304536 on 13 DF , p-value: 0.749574
## 
##  No significant outliers 
## Number of iterations = 2
## [1] "No significant Outliers"

Funnel Plot

Diagnostics

C2GRCH38 and Zhou W AKI

COVID-19 vs Population

mr_dat <- read_csv('data/harmonized_data_C2_Zhouw.csv')
mr_res <- mr(mr_dat, method_list = c(
  "mr_two_sample_ml",  "mr_egger_regression", "mr_egger_regression_bootstrap",
  "mr_simple_median", "mr_weighted_median", "mr_penalised_weighted_median", 
  "mr_ivw_fe", "mr_ivw_mre",
  "mr_simple_mode", "mr_weighted_mode", "mr_weighted_mode_nome", "mr_simple_mode_nome"
  ))
res_single <- mr_singlesnp(mr_dat, all_method = c("mr_ivw_fe", "mr_egger_regression", "mr_weighted_median", "mr_weighted_mode")) %>% as_tibble()
odd <- generate_odds_ratios(mr_res)
dt <-odd[,3:14]
kbl(dt) %>%
  kable_styling(bootstrap_options = c("striped", "hover","bordered"))
outcome exposure method nsnp b se pval lo_ci up_ci or or_lci95 or_uci95
AKI_ZW COVID19_C2 Maximum likelihood 14 -0.0435677 0.0949501 0.6463426 -0.2296698 0.1425344 0.9573677 0.7947960 1.1531927
AKI_ZW COVID19_C2 MR Egger 14 -0.4046554 0.2059765 0.0730472 -0.8083694 -0.0009415 0.6672067 0.4455841 0.9990589
AKI_ZW COVID19_C2 MR Egger (bootstrap) 14 -0.5959719 0.2714976 0.0160000 -1.1281071 -0.0638367 0.5510268 0.3236453 0.9381582
AKI_ZW COVID19_C2 Simple median 14 0.2652062 0.1741118 0.1277099 -0.0760529 0.6064654 1.3036998 0.9267672 1.8339376
AKI_ZW COVID19_C2 Weighted median 14 -0.2307044 0.1319721 0.0804416 -0.4893697 0.0279610 0.7939742 0.6130126 1.0283556
AKI_ZW COVID19_C2 Penalised weighted median 14 -0.2414703 0.1358806 0.0755555 -0.5077962 0.0248556 0.7854721 0.6018204 1.0251671
AKI_ZW COVID19_C2 Inverse variance weighted (fixed effects) 14 -0.0445776 0.0941724 0.6359554 -0.2291556 0.1400004 0.9564014 0.7952048 1.1502743
AKI_ZW COVID19_C2 Inverse variance weighted (multiplicative random effects) 14 -0.0445776 0.1326073 0.7367484 -0.3044879 0.2153327 0.9564014 0.7375010 1.2402745
AKI_ZW COVID19_C2 Simple mode 14 0.4008670 0.2953012 0.1977260 -0.1779233 0.9796573 1.4931187 0.8370067 2.6635432
AKI_ZW COVID19_C2 Weighted mode 14 -0.2241636 0.1345748 0.1196697 -0.4879303 0.0396030 0.7991844 0.6138957 1.0403977
AKI_ZW COVID19_C2 Weighted mode (NOME) 14 -0.2241636 0.1412185 0.1364476 -0.5009519 0.0526246 0.7991844 0.6059536 1.0540339
AKI_ZW COVID19_C2 Simple mode (NOME) 14 0.4008670 0.2960719 0.1988220 -0.1794339 0.9811679 1.4931187 0.8357432 2.6675700

Scatter Plot

Forrest Plot

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Leave-one-out

## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_errorbarh()`).
## Warning: Removed 1 row containing missing values or values outside the scale range
## (`geom_point()`).

Radial Plot

## Converting:
##  - exposure: COVID19_C2
##  - outcome: AKI_ZW
## 
## Radial IVW
## 
##                     Estimate  Std.Error    t value  Pr(>|t|)
## Effect (Mod.2nd) -0.04457683 0.13260732 -0.3361567 0.7367527
## Iterative        -0.04457683 0.13260732 -0.3361567 0.7367527
## Exact (FE)       -0.04533037 0.09417935 -0.4813196 0.6302894
## Exact (RE)       -0.04494569 0.14202580 -0.3164614 0.7566764
## 
## 
## Residual standard error: 1.408 on 13 degrees of freedom
## 
## F-statistic: 0.11 on 1 and 13 DF, p-value: 0.742
## Q-Statistic for heterogeneity: 25.77324 on 13 DF , p-value: 0.0182323
## 
##  No significant outliers 
## Number of iterations = 2
## [1] "No significant Outliers"

Funnel Plot

Diagnostics