Last updated: 2020-03-01

Checks: 7 0

Knit directory: mmbr-rss-dsc/

This reproducible R Markdown analysis was created with workflowr (version 1.6.0). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.


Great! Since the R Markdown file has been committed to the Git repository, you know the exact version of the code that produced these results.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20200227) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Great! You are using Git for version control. Tracking code development and connecting the code version to the results is critical for reproducibility. The version displayed above was the version of the Git repository at the time these results were generated.

Note that you need to be careful to ensure that all relevant files for the analysis have been committed to Git prior to generating the results (you can use wflow_publish or wflow_git_commit). workflowr only checks the R Markdown file, but you know if there are other scripts or data files that it depends on. Below is the status of the Git repository when the results were generated:


Untracked files:
    Untracked:  analysis/mmbr_rss_simulation_1_problem.Rmd
    Untracked:  data/lite_data_6.rds
    Untracked:  data/lite_data_6_shared_1.pkl
    Untracked:  data/lite_data_6_shared_1_get_sumstats_1.rds
    Untracked:  data/lite_data_6_shared_1_get_sumstats_1_oracle_generator_1_mnm_rss_shared_16.rds
    Untracked:  output/mnm_rss_lite_output.20200227.rds
    Untracked:  output/mnm_rss_lite_output.20200229.rds

Note that any generated files, e.g. HTML, png, CSS, etc., are not included in this status report because it is ok for generated content to have uncommitted changes.


These are the previous versions of the R Markdown and HTML files. If you’ve configured a remote Git repository (see ?wflow_git_remote), click on the hyperlinks in the table below to view them.

File Version Author Date Message
Rmd 4ae7d79 zouyuxin 2020-03-01 wflow_publish(“analysis/mmbr_rss_simulation_1.Rmd”)
html 78b6788 zouyuxin 2020-03-01 Build site.
html 8e52256 zouyuxin 2020-02-29 Build site.
html 31cfb3e zouyuxin 2020-02-29 Build site.
Rmd 5ac2293 zouyuxin 2020-02-29 wflow_publish(“analysis/mmbr_rss_simulation_1.Rmd”)
html 7fbc900 zouyuxin 2020-02-29 Build site.
Rmd ae502cd zouyuxin 2020-02-29 wflow_publish(“analysis/mmbr_rss_simulation_1.Rmd”)
html 6d7bf2d zouyuxin 2020-02-28 Build site.
Rmd d5a7ede zouyuxin 2020-02-28 wflow_publish(“analysis/mmbr_rss_simulation_1.Rmd”)

This is result from our first M&M RSS simulation.

There are 200 data sets, each with 1 causal SNP shared across conditions. The number of conditions are 5 and 10.

library(dplyr)
library(kableExtra)
library(knitr)
out = readRDS('output/mnm_rss_lite_output.20200229.rds')
res = out[,-1]
colnames(res) = c('n_traits', 'method', 'resid_method', 'L', 'prior.scale','total', 'valid', 'size', 'purity', 'top_hit', 'total_true', 'total_true_included', 'overlap_var', 'overlap_cs', 'false_positive_cross_cond', 'false_negative_cross_cond', 'true_positive_cross_cond', 'converged', 'filename')
res$resid_method[res$resid_method == 'diag'] = 'identity'
res.prior.simulated = res %>% filter(prior.scale == 'simulated' | is.na(prior.scale))
res.prior.size = res %>% filter(prior.scale == 'size' | is.na(prior.scale))
res.prior.oracle = res %>% filter(prior.scale == 'oracle' | is.na(prior.scale))
rm(out)

Simulated Prior

Purity

purity = aggregate(purity~n_traits + resid_method + method + L, res.prior.simulated, mean)
purity = purity[order(purity$n_traits, purity$L),]
rownames(purity) = NULL
knitr::kable(purity) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L purity
5 all mnm_rss_shared 1 0.1655099
5 identity mnm_rss_shared 1 0.9856530
5 null mnm_rss_shared 1 0.9007187
5 oracle mnm_rss_shared 1 0.9879269
5 flash mnm_shared 1 0.9941027
5 oracle mnm_shared 1 0.9965768
5 all mnm_rss_shared 2 0.1481444
5 identity mnm_rss_shared 2 0.9659861
5 null mnm_rss_shared 2 0.8563740
5 oracle mnm_rss_shared 2 0.9699972
5 flash mnm_shared 2 0.9941027
5 oracle mnm_shared 2 0.9965768
5 all mnm_rss_shared 10 0.0659099
5 identity mnm_rss_shared 10 0.2548392
5 null mnm_rss_shared 10 0.2255097
5 oracle mnm_rss_shared 10 0.3947844
5 flash mnm_shared 10 0.9941027
5 oracle mnm_shared 10 0.9965768
10 all mnm_rss_shared 1 0.4304852
10 identity mnm_rss_shared 1 0.9891525
10 null mnm_rss_shared 1 0.9832247
10 oracle mnm_rss_shared 1 0.9899473
10 flash mnm_shared 1 0.9965968
10 oracle mnm_shared 1 0.9986715
10 all mnm_rss_shared 2 0.3704374
10 identity mnm_rss_shared 2 0.9796532
10 null mnm_rss_shared 2 0.9734047
10 oracle mnm_rss_shared 2 0.9842392
10 flash mnm_shared 2 0.9965968
10 oracle mnm_shared 2 0.9986715
10 all mnm_rss_shared 10 0.2043153
10 identity mnm_rss_shared 10 0.9216859
10 null mnm_rss_shared 10 0.8481309
10 oracle mnm_rss_shared 10 0.9384956
10 flash mnm_shared 10 0.9965968
10 oracle mnm_shared 10 0.9986715

Power

total_true_included = aggregate(total_true_included ~ n_traits + resid_method + method + L, res.prior.simulated, sum)
total_true = aggregate(total_true ~  n_traits + resid_method + method + L, res.prior.simulated, sum)
cs_overlap = aggregate(overlap_cs ~  n_traits + resid_method + method + L, res.prior.simulated, sum)
snp_overlap = aggregate(overlap_var ~  n_traits + resid_method + method + L, res.prior.simulated, sum)
power = merge(total_true_included, total_true, by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power = merge(power, cs_overlap,  by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power = merge(power, snp_overlap,  by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power$power = round(power$total_true_included/power$total_true,3)
power$overlap_cs = round(power$overlap_cs, 3)
power$overlap_var = round(power$overlap_var, 3)
power = power[order(power$n_traits, power$L, power$method),]
rownames(power) = NULL
knitr::kable(power) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L total_true_included total_true overlap_cs overlap_var power
5 all mnm_rss_shared 1 17 200 0 0 0.085
5 identity mnm_rss_shared 1 199 200 0 0 0.995
5 null mnm_rss_shared 1 178 200 0 0 0.890
5 oracle mnm_rss_shared 1 199 200 0 0 0.995
5 flash mnm_shared 1 198 200 0 0 0.990
5 oracle mnm_shared 1 195 200 0 0 0.975
5 all mnm_rss_shared 2 13 200 1 1 0.065
5 identity mnm_rss_shared 2 199 200 1 18 0.995
5 null mnm_rss_shared 2 172 200 3 41 0.860
5 oracle mnm_rss_shared 2 199 200 2 52 0.995
5 flash mnm_shared 2 198 200 0 0 0.990
5 oracle mnm_shared 2 195 200 0 0 0.975
5 all mnm_rss_shared 10 3 200 0 0 0.015
5 identity mnm_rss_shared 10 68 200 267 12340 0.340
5 null mnm_rss_shared 10 50 200 191 8724 0.250
5 oracle mnm_rss_shared 10 104 200 465 17077 0.520
5 flash mnm_shared 10 198 200 0 0 0.990
5 oracle mnm_shared 10 195 200 0 0 0.975
10 all mnm_rss_shared 1 32 200 0 0 0.160
10 identity mnm_rss_shared 1 194 200 0 0 0.970
10 null mnm_rss_shared 1 165 200 0 0 0.825
10 oracle mnm_rss_shared 1 193 200 0 0 0.965
10 flash mnm_shared 1 200 200 0 0 1.000
10 oracle mnm_shared 1 198 200 0 0 0.990
10 all mnm_rss_shared 2 24 200 5 105 0.120
10 identity mnm_rss_shared 2 197 200 6 120 0.985
10 null mnm_rss_shared 2 170 200 9 137 0.850
10 oracle mnm_rss_shared 2 197 200 12 168 0.985
10 flash mnm_shared 2 200 200 0 0 1.000
10 oracle mnm_shared 2 198 200 0 0 0.990
10 all mnm_rss_shared 10 11 200 3 17 0.055
10 identity mnm_rss_shared 10 194 200 276 5802 0.970
10 null mnm_rss_shared 10 159 200 215 4618 0.795
10 oracle mnm_rss_shared 10 196 200 209 4062 0.980
10 flash mnm_shared 10 200 200 0 0 1.000
10 oracle mnm_shared 10 198 200 0 0 0.990

FDR

valid = aggregate(valid ~ n_traits + resid_method + method + L, res.prior.simulated, sum)
total = aggregate(total ~ n_traits + resid_method + method + L, res.prior.simulated, sum)
fdr = merge(valid, total, by = c( 'n_traits' , 'resid_method' , 'method', 'L'))
fdr$fdr = round((fdr$total - fdr$valid)/fdr$total,3)
fdr = fdr[order(fdr$n_traits, fdr$L, fdr$method),]
rownames(fdr) = NULL
knitr::kable(fdr) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L valid total fdr
5 all mnm_rss_shared 1 17 37 0.541
5 identity mnm_rss_shared 1 199 200 0.005
5 null mnm_rss_shared 1 178 188 0.053
5 oracle mnm_rss_shared 1 199 200 0.005
5 flash mnm_shared 1 198 200 0.010
5 oracle mnm_shared 1 195 200 0.025
5 all mnm_rss_shared 2 14 40 0.650
5 identity mnm_rss_shared 2 200 200 0.000
5 null mnm_rss_shared 2 175 190 0.079
5 oracle mnm_rss_shared 2 201 201 0.000
5 flash mnm_shared 2 198 200 0.010
5 oracle mnm_shared 2 195 200 0.025
5 all mnm_rss_shared 10 3 83 0.964
5 identity mnm_rss_shared 10 190 190 0.000
5 null mnm_rss_shared 10 130 190 0.316
5 oracle mnm_rss_shared 10 311 311 0.000
5 flash mnm_shared 10 198 200 0.010
5 oracle mnm_shared 10 195 200 0.025
10 all mnm_rss_shared 1 32 94 0.660
10 identity mnm_rss_shared 1 194 199 0.025
10 null mnm_rss_shared 1 165 198 0.167
10 oracle mnm_rss_shared 1 193 199 0.030
10 flash mnm_shared 1 200 200 0.000
10 oracle mnm_shared 1 198 200 0.010
10 all mnm_rss_shared 2 27 100 0.730
10 identity mnm_rss_shared 2 203 204 0.005
10 null mnm_rss_shared 2 177 239 0.259
10 oracle mnm_rss_shared 2 209 211 0.009
10 flash mnm_shared 2 200 200 0.000
10 oracle mnm_shared 2 198 200 0.010
10 all mnm_rss_shared 10 13 160 0.919
10 identity mnm_rss_shared 10 349 349 0.000
10 null mnm_rss_shared 10 269 590 0.544
10 oracle mnm_rss_shared 10 313 313 0.000
10 flash mnm_shared 10 200 200 0.000
10 oracle mnm_shared 10 198 200 0.010

Convergence

elbo_converged = aggregate(converged~n_traits + resid_method + method + L, res.prior.simulated, mean)
elbo_converged = elbo_converged[which(elbo_converged$L!=1),]
elbo_converged = elbo_converged[order(elbo_converged$n_traits),]
rownames(elbo_converged) = NULL
knitr::kable(elbo_converged) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24), background = "wheat")
n_traits resid_method method L converged
5 all mnm_rss_shared 2 1.000
5 identity mnm_rss_shared 2 1.000
5 null mnm_rss_shared 2 1.000
5 oracle mnm_rss_shared 2 1.000
5 flash mnm_shared 2 0.955
5 oracle mnm_shared 2 0.930
5 all mnm_rss_shared 10 1.000
5 identity mnm_rss_shared 10 0.700
5 null mnm_rss_shared 10 0.855
5 oracle mnm_rss_shared 10 0.505
5 flash mnm_shared 10 0.955
5 oracle mnm_shared 10 0.930
10 all mnm_rss_shared 2 1.000
10 identity mnm_rss_shared 2 1.000
10 null mnm_rss_shared 2 1.000
10 oracle mnm_rss_shared 2 1.000
10 flash mnm_shared 2 0.915
10 oracle mnm_shared 2 0.905
10 all mnm_rss_shared 10 0.980
10 identity mnm_rss_shared 10 0.030
10 null mnm_rss_shared 10 0.510
10 oracle mnm_rss_shared 10 0.020
10 flash mnm_shared 10 0.915
10 oracle mnm_shared 10 0.905

Prior scaled with sample size

Purity

purity = aggregate(purity~n_traits + resid_method + method + L, res.prior.size, mean)
purity = purity[order(purity$n_traits, purity$L),]
rownames(purity) = NULL
knitr::kable(purity) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L purity
5 all mnm_rss_shared 1 0.9253474
5 identity mnm_rss_shared 1 0.9960291
5 null mnm_rss_shared 1 0.9831272
5 oracle mnm_rss_shared 1 0.9962116
5 flash mnm_shared 1 0.9941027
5 oracle mnm_shared 1 0.9965768
5 all mnm_rss_shared 2 0.9883732
5 identity mnm_rss_shared 2 0.9936497
5 null mnm_rss_shared 2 0.9792400
5 oracle mnm_rss_shared 2 0.9924485
5 flash mnm_shared 2 0.9941027
5 oracle mnm_shared 2 0.9965768
5 all mnm_rss_shared 10 0.9976531
5 identity mnm_rss_shared 10 0.9934514
5 null mnm_rss_shared 10 0.9829585
5 oracle mnm_rss_shared 10 0.9914243
5 flash mnm_shared 10 0.9941027
5 oracle mnm_shared 10 0.9965768
10 all mnm_rss_shared 1 0.9608779
10 identity mnm_rss_shared 1 0.9975859
10 null mnm_rss_shared 1 0.9958050
10 oracle mnm_rss_shared 1 0.9977314
10 flash mnm_shared 1 0.9965968
10 oracle mnm_shared 1 0.9986715
10 all mnm_rss_shared 2 0.9978111
10 identity mnm_rss_shared 2 0.9951683
10 null mnm_rss_shared 2 0.9899097
10 oracle mnm_rss_shared 2 0.9964637
10 flash mnm_shared 2 0.9965968
10 oracle mnm_shared 2 0.9986715
10 all mnm_rss_shared 10 1.0000000
10 identity mnm_rss_shared 10 0.9958573
10 null mnm_rss_shared 10 0.9944488
10 oracle mnm_rss_shared 10 0.9950210
10 flash mnm_shared 10 0.9965968
10 oracle mnm_shared 10 0.9986715

Power

total_true_included = aggregate(total_true_included ~ n_traits + resid_method + method + L, res.prior.size, sum)
total_true = aggregate(total_true ~  n_traits + resid_method + method + L, res.prior.size, sum)
cs_overlap = aggregate(overlap_cs ~  n_traits + resid_method + method + L, res.prior.size, sum)
snp_overlap = aggregate(overlap_var ~  n_traits + resid_method + method + L, res.prior.size, sum)
power = merge(total_true_included, total_true, by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power = merge(power, cs_overlap,  by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power = merge(power, snp_overlap,  by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power$power = round(power$total_true_included/power$total_true,3)
power$overlap_cs = round(power$overlap_cs, 3)
power$overlap_var = round(power$overlap_var, 3)
power = power[order(power$n_traits, power$L, power$method),]
rownames(power) = NULL
knitr::kable(power) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L total_true_included total_true overlap_cs overlap_var power
5 all mnm_rss_shared 1 49 200 0 0 0.245
5 identity mnm_rss_shared 1 192 200 0 0 0.960
5 null mnm_rss_shared 1 168 200 0 0 0.840
5 oracle mnm_rss_shared 1 191 200 0 0 0.955
5 flash mnm_shared 1 198 200 0 0 0.990
5 oracle mnm_shared 1 195 200 0 0 0.975
5 all mnm_rss_shared 2 57 200 0 0 0.285
5 identity mnm_rss_shared 2 193 200 5 41 0.965
5 null mnm_rss_shared 2 169 200 2 35 0.845
5 oracle mnm_rss_shared 2 192 200 8 50 0.960
5 flash mnm_shared 2 198 200 0 0 0.990
5 oracle mnm_shared 2 195 200 0 0 0.975
5 all mnm_rss_shared 10 70 200 3 5 0.350
5 identity mnm_rss_shared 10 192 200 7 191 0.960
5 null mnm_rss_shared 10 170 200 7 151 0.850
5 oracle mnm_rss_shared 10 192 200 8 162 0.960
5 flash mnm_shared 10 198 200 0 0 0.990
5 oracle mnm_shared 10 195 200 0 0 0.975
10 all mnm_rss_shared 1 42 200 0 0 0.210
10 identity mnm_rss_shared 1 187 200 0 0 0.935
10 null mnm_rss_shared 1 155 200 0 0 0.775
10 oracle mnm_rss_shared 1 187 200 0 0 0.935
10 flash mnm_shared 1 200 200 0 0 1.000
10 oracle mnm_shared 1 198 200 0 0 0.990
10 all mnm_rss_shared 2 48 200 0 0 0.240
10 identity mnm_rss_shared 2 187 200 12 107 0.935
10 null mnm_rss_shared 2 154 200 4 35 0.770
10 oracle mnm_rss_shared 2 187 200 12 101 0.935
10 flash mnm_shared 2 200 200 0 0 1.000
10 oracle mnm_shared 2 198 200 0 0 0.990
10 all mnm_rss_shared 10 50 200 0 0 0.250
10 identity mnm_rss_shared 10 187 200 40 879 0.935
10 null mnm_rss_shared 10 154 200 32 660 0.770
10 oracle mnm_rss_shared 10 187 200 28 520 0.935
10 flash mnm_shared 10 200 200 0 0 1.000
10 oracle mnm_shared 10 198 200 0 0 0.990

FDR

valid = aggregate(valid ~ n_traits + resid_method + method + L, res.prior.size, sum)
total = aggregate(total ~ n_traits + resid_method + method + L, res.prior.size, sum)
fdr = merge(valid, total, by = c( 'n_traits' , 'resid_method' , 'method', 'L'))
fdr$fdr = round((fdr$total - fdr$valid)/fdr$total,3)
fdr = fdr[order(fdr$n_traits, fdr$L, fdr$method),]
rownames(fdr) = NULL
knitr::kable(fdr) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L valid total fdr
5 all mnm_rss_shared 1 49 188 0.739
5 identity mnm_rss_shared 1 192 200 0.040
5 null mnm_rss_shared 1 168 200 0.160
5 oracle mnm_rss_shared 1 191 200 0.045
5 flash mnm_shared 1 198 200 0.010
5 oracle mnm_shared 1 195 200 0.025
5 all mnm_rss_shared 2 57 376 0.848
5 identity mnm_rss_shared 2 197 205 0.039
5 null mnm_rss_shared 2 171 270 0.367
5 oracle mnm_rss_shared 2 199 209 0.048
5 flash mnm_shared 2 198 200 0.010
5 oracle mnm_shared 2 195 200 0.025
5 all mnm_rss_shared 10 70 1805 0.961
5 identity mnm_rss_shared 10 197 205 0.039
5 null mnm_rss_shared 10 173 517 0.665
5 oracle mnm_rss_shared 10 197 207 0.048
5 flash mnm_shared 10 198 200 0.010
5 oracle mnm_shared 10 195 200 0.025
10 all mnm_rss_shared 1 42 193 0.782
10 identity mnm_rss_shared 1 187 200 0.065
10 null mnm_rss_shared 1 155 200 0.225
10 oracle mnm_rss_shared 1 187 200 0.065
10 flash mnm_shared 1 200 200 0.000
10 oracle mnm_shared 1 198 200 0.010
10 all mnm_rss_shared 2 48 384 0.875
10 identity mnm_rss_shared 2 199 212 0.061
10 null mnm_rss_shared 2 158 297 0.468
10 oracle mnm_rss_shared 2 199 212 0.061
10 flash mnm_shared 2 200 200 0.000
10 oracle mnm_shared 2 198 200 0.010
10 all mnm_rss_shared 10 50 1927 0.974
10 identity mnm_rss_shared 10 205 218 0.060
10 null mnm_rss_shared 10 166 888 0.813
10 oracle mnm_rss_shared 10 202 215 0.060
10 flash mnm_shared 10 200 200 0.000
10 oracle mnm_shared 10 198 200 0.010

Convergence

elbo_converged = aggregate(converged~n_traits + resid_method + method + L, res.prior.size, mean)
elbo_converged = elbo_converged[which(elbo_converged$L!=1),]
elbo_converged = elbo_converged[order(elbo_converged$n_traits),]
rownames(elbo_converged) = NULL
knitr::kable(elbo_converged) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24), background = "wheat")
n_traits resid_method method L converged
5 all mnm_rss_shared 2 1.000
5 identity mnm_rss_shared 2 0.990
5 null mnm_rss_shared 2 1.000
5 oracle mnm_rss_shared 2 0.965
5 flash mnm_shared 2 0.955
5 oracle mnm_shared 2 0.930
5 all mnm_rss_shared 10 0.955
5 identity mnm_rss_shared 10 0.980
5 null mnm_rss_shared 10 0.900
5 oracle mnm_rss_shared 10 0.945
5 flash mnm_shared 10 0.955
5 oracle mnm_shared 10 0.930
10 all mnm_rss_shared 2 0.990
10 identity mnm_rss_shared 2 0.980
10 null mnm_rss_shared 2 0.985
10 oracle mnm_rss_shared 2 0.985
10 flash mnm_shared 2 0.915
10 oracle mnm_shared 2 0.905
10 all mnm_rss_shared 10 0.945
10 identity mnm_rss_shared 10 0.955
10 null mnm_rss_shared 10 0.905
10 oracle mnm_rss_shared 10 0.955
10 flash mnm_shared 10 0.915
10 oracle mnm_shared 10 0.905

Oracle Prior

Purity

purity = aggregate(purity~n_traits + resid_method + method + L, res.prior.oracle, mean)
purity = purity[order(purity$n_traits, purity$L),]
rownames(purity) = NULL
knitr::kable(purity) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L purity
5 all mnm_rss_shared 1 0.9403463
5 identity mnm_rss_shared 1 0.9966379
5 null mnm_rss_shared 1 0.9868357
5 oracle mnm_rss_shared 1 0.9969791
5 flash mnm_shared 1 0.9941027
5 oracle mnm_shared 1 0.9965768
5 all mnm_rss_shared 2 0.9923665
5 identity mnm_rss_shared 2 0.9966379
5 null mnm_rss_shared 2 0.9860790
5 oracle mnm_rss_shared 2 0.9969791
5 flash mnm_shared 2 0.9941027
5 oracle mnm_shared 2 0.9965768
5 all mnm_rss_shared 10 0.9999161
5 identity mnm_rss_shared 10 0.9966379
5 null mnm_rss_shared 10 0.9888716
5 oracle mnm_rss_shared 10 0.9969791
5 flash mnm_shared 10 0.9941027
5 oracle mnm_shared 10 0.9965768
10 all mnm_rss_shared 1 0.9394543
10 identity mnm_rss_shared 1 0.9987209
10 null mnm_rss_shared 1 0.9952346
10 oracle mnm_rss_shared 1 0.9987721
10 flash mnm_shared 1 0.9965968
10 oracle mnm_shared 1 0.9986715
10 all mnm_rss_shared 2 0.9978775
10 identity mnm_rss_shared 2 0.9987209
10 null mnm_rss_shared 2 0.9919765
10 oracle mnm_rss_shared 2 0.9987721
10 flash mnm_shared 2 0.9965968
10 oracle mnm_shared 2 0.9986715
10 all mnm_rss_shared 10 1.0000000
10 identity mnm_rss_shared 10 0.9987209
10 null mnm_rss_shared 10 0.9936072
10 oracle mnm_rss_shared 10 0.9987721
10 flash mnm_shared 10 0.9965968
10 oracle mnm_shared 10 0.9986715

Power

total_true_included = aggregate(total_true_included ~ n_traits + resid_method + method + L, res.prior.oracle, sum)
total_true = aggregate(total_true ~  n_traits + resid_method + method + L, res.prior.oracle, sum)
cs_overlap = aggregate(overlap_cs ~  n_traits + resid_method + method + L, res.prior.oracle, sum)
snp_overlap = aggregate(overlap_var ~  n_traits + resid_method + method + L, res.prior.oracle, sum)
power = merge(total_true_included, total_true, by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power = merge(power, cs_overlap,  by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power = merge(power, snp_overlap,  by = c( 'n_traits' , 'resid_method' , 'method' , 'L'))
power$power = round(power$total_true_included/power$total_true,3)
power$overlap_cs = round(power$overlap_cs, 3)
power$overlap_var = round(power$overlap_var, 3)
power = power[order(power$n_traits, power$L, power$method),]
rownames(power) = NULL
knitr::kable(power) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L total_true_included total_true overlap_cs overlap_var power
5 all mnm_rss_shared 1 39 200 0 0 0.195
5 identity mnm_rss_shared 1 191 200 0 0 0.955
5 null mnm_rss_shared 1 162 200 0 0 0.810
5 oracle mnm_rss_shared 1 190 200 0 0 0.950
5 flash mnm_shared 1 198 200 0 0 0.990
5 oracle mnm_shared 1 195 200 0 0 0.975
5 all mnm_rss_shared 2 41 200 0 0 0.205
5 identity mnm_rss_shared 2 191 200 0 0 0.955
5 null mnm_rss_shared 2 165 200 0 0 0.825
5 oracle mnm_rss_shared 2 190 200 0 0 0.950
5 flash mnm_shared 2 198 200 0 0 0.990
5 oracle mnm_shared 2 195 200 0 0 0.975
5 all mnm_rss_shared 10 58 200 0 0 0.290
5 identity mnm_rss_shared 10 191 200 0 0 0.955
5 null mnm_rss_shared 10 165 200 1 1 0.825
5 oracle mnm_rss_shared 10 190 200 0 0 0.950
5 flash mnm_shared 10 198 200 0 0 0.990
5 oracle mnm_shared 10 195 200 0 0 0.975
10 all mnm_rss_shared 1 38 200 0 0 0.190
10 identity mnm_rss_shared 1 186 200 0 0 0.930
10 null mnm_rss_shared 1 157 200 0 0 0.785
10 oracle mnm_rss_shared 1 186 200 0 0 0.930
10 flash mnm_shared 1 200 200 0 0 1.000
10 oracle mnm_shared 1 198 200 0 0 0.990
10 all mnm_rss_shared 2 43 200 0 0 0.215
10 identity mnm_rss_shared 2 186 200 0 0 0.930
10 null mnm_rss_shared 2 156 200 0 0 0.780
10 oracle mnm_rss_shared 2 186 200 0 0 0.930
10 flash mnm_shared 2 200 200 0 0 1.000
10 oracle mnm_shared 2 198 200 0 0 0.990
10 all mnm_rss_shared 10 46 200 0 0 0.230
10 identity mnm_rss_shared 10 186 200 0 0 0.930
10 null mnm_rss_shared 10 155 200 0 0 0.775
10 oracle mnm_rss_shared 10 186 200 0 0 0.930
10 flash mnm_shared 10 200 200 0 0 1.000
10 oracle mnm_shared 10 198 200 0 0 0.990

FDR

valid = aggregate(valid ~ n_traits + resid_method + method + L, res.prior.oracle, sum)
total = aggregate(total ~ n_traits + resid_method + method + L, res.prior.oracle, sum)
fdr = merge(valid, total, by = c( 'n_traits' , 'resid_method' , 'method', 'L'))
fdr$fdr = round((fdr$total - fdr$valid)/fdr$total,3)
fdr = fdr[order(fdr$n_traits, fdr$L, fdr$method),]
rownames(fdr) = NULL
knitr::kable(fdr) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24, 31:36), background = "wheat")
n_traits resid_method method L valid total fdr
5 all mnm_rss_shared 1 39 191 0.796
5 identity mnm_rss_shared 1 191 200 0.045
5 null mnm_rss_shared 1 162 199 0.186
5 oracle mnm_rss_shared 1 190 200 0.050
5 flash mnm_shared 1 198 200 0.010
5 oracle mnm_shared 1 195 200 0.025
5 all mnm_rss_shared 2 41 382 0.893
5 identity mnm_rss_shared 2 191 200 0.045
5 null mnm_rss_shared 2 165 284 0.419
5 oracle mnm_rss_shared 2 190 200 0.050
5 flash mnm_shared 2 198 200 0.010
5 oracle mnm_shared 2 195 200 0.025
5 all mnm_rss_shared 10 58 1850 0.969
5 identity mnm_rss_shared 10 191 200 0.045
5 null mnm_rss_shared 10 165 544 0.697
5 oracle mnm_rss_shared 10 190 200 0.050
5 flash mnm_shared 10 198 200 0.010
5 oracle mnm_shared 10 195 200 0.025
10 all mnm_rss_shared 1 38 190 0.800
10 identity mnm_rss_shared 1 186 200 0.070
10 null mnm_rss_shared 1 157 200 0.215
10 oracle mnm_rss_shared 1 186 200 0.070
10 flash mnm_shared 1 200 200 0.000
10 oracle mnm_shared 1 198 200 0.010
10 all mnm_rss_shared 2 43 393 0.891
10 identity mnm_rss_shared 2 186 200 0.070
10 null mnm_rss_shared 2 156 296 0.473
10 oracle mnm_rss_shared 2 186 200 0.070
10 flash mnm_shared 2 200 200 0.000
10 oracle mnm_shared 2 198 200 0.010
10 all mnm_rss_shared 10 46 1929 0.976
10 identity mnm_rss_shared 10 186 200 0.070
10 null mnm_rss_shared 10 155 845 0.817
10 oracle mnm_rss_shared 10 186 200 0.070
10 flash mnm_shared 10 200 200 0.000
10 oracle mnm_shared 10 198 200 0.010

Convergence

elbo_converged = aggregate(converged~n_traits + resid_method + method + L, res.prior.oracle, mean)
elbo_converged = elbo_converged[which(elbo_converged$L!=1),]
elbo_converged = elbo_converged[order(elbo_converged$n_traits),]
rownames(elbo_converged) = NULL
knitr::kable(elbo_converged) %>% kable_styling(full_width = F) %>%
  row_spec(c(7:12, 19:24), background = "wheat")
n_traits resid_method method L converged
5 all mnm_rss_shared 2 1.000
5 identity mnm_rss_shared 2 0.990
5 null mnm_rss_shared 2 0.990
5 oracle mnm_rss_shared 2 0.975
5 flash mnm_shared 2 0.955
5 oracle mnm_shared 2 0.930
5 all mnm_rss_shared 10 0.860
5 identity mnm_rss_shared 10 0.990
5 null mnm_rss_shared 10 0.895
5 oracle mnm_rss_shared 10 0.975
5 flash mnm_shared 10 0.955
5 oracle mnm_shared 10 0.930
10 all mnm_rss_shared 2 1.000
10 identity mnm_rss_shared 2 0.980
10 null mnm_rss_shared 2 0.985
10 oracle mnm_rss_shared 2 0.980
10 flash mnm_shared 2 0.915
10 oracle mnm_shared 2 0.905
10 all mnm_rss_shared 10 0.865
10 identity mnm_rss_shared 10 0.980
10 null mnm_rss_shared 10 0.870
10 oracle mnm_rss_shared 10 0.980
10 flash mnm_shared 10 0.915
10 oracle mnm_shared 10 0.905

sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Scientific Linux 7.4 (Nitrogen)

Matrix products: default
BLAS/LAPACK: /software/openblas-0.2.19-el7-x86_64/lib/libopenblas_haswellp-r0.2.19.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] knitr_1.20       kableExtra_1.1.0 dplyr_0.8.0.1   

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.3        highr_0.7         pillar_1.4.3     
 [4] compiler_3.5.1    later_0.7.5       git2r_0.26.1     
 [7] workflowr_1.6.0   tools_3.5.1       digest_0.6.25    
[10] viridisLite_0.3.0 evaluate_0.12     tibble_2.1.3     
[13] lifecycle_0.1.0   pkgconfig_2.0.3   rlang_0.4.4      
[16] rstudioapi_0.10   yaml_2.2.0        stringr_1.4.0    
[19] httr_1.3.1        xml2_1.2.0        fs_1.3.1         
[22] vctrs_0.2.3       hms_0.5.3         webshot_0.5.1    
[25] rprojroot_1.3-2   tidyselect_0.2.5  glue_1.3.1       
[28] R6_2.4.1          rmarkdown_1.10    purrr_0.3.2      
[31] readr_1.3.1       magrittr_1.5      whisker_0.3-2    
[34] backports_1.1.5   scales_1.1.0      promises_1.0.1   
[37] htmltools_0.3.6   assertthat_0.2.1  rvest_0.3.2      
[40] colorspace_1.4-1  httpuv_1.4.5      stringi_1.4.3    
[43] munsell_0.5.0     crayon_1.3.4