Last updated: 2019-04-24
workflowr checks: (Click a bullet for more information) ✔ R Markdown file: up-to-date
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.
✔ Environment: empty
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.
✔ Seed:
set.seed(20190115)
The command set.seed(20190115) 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.
✔ Session information: recorded
Great job! Recording the operating system, R version, and package versions is critical for reproducibility.
✔ Repository version: 5b02591
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:
Ignored files:
Ignored: .DS_Store
Ignored: .Rhistory
Ignored: .Rproj.user/
Ignored: .sos/
Ignored: analysis/.DS_Store
Ignored: data/.DS_Store
Ignored: output/.DS_Store
Untracked files:
Untracked: data/random_data_31.rds
Untracked: data/random_data_31_sim_gaussian_35.rds
Untracked: data/random_data_31_sim_gaussian_35_get_sumstats_1.rds
Untracked: data/small_data_1.ld_in_file.in.ld
Untracked: data/small_data_1.ld_out_file.out.ld
Untracked: data/small_data_132.ld_in_file.in.ld
Untracked: data/small_data_132.ld_out_file.out.ld
Untracked: data/small_data_132_sim_gaussian_12.rds
Untracked: data/small_data_132_sim_gaussian_12_get_sumstats_1.rds
Untracked: data/small_data_1_sim_gaussian_2.rds
Untracked: data/small_data_1_sim_gaussian_2_get_sumstats_1.rds
Untracked: data/small_data_46.rds
Untracked: data/small_data_46_sim_gaussian_10.rds
Untracked: data/small_data_46_sim_gaussian_10_get_sumstats_2.rds
Untracked: data/small_data_69.ld_in_file.in.ld
Untracked: data/small_data_69.ld_out_file.out.ld
Untracked: data/small_data_69.rds
Untracked: data/small_data_69_sim_gaussian_3.rds
Untracked: data/small_data_69_sim_gaussian_3_get_sumstats_1.rds
Untracked: data/small_data_69_sim_gaussian_3_get_sumstats_1_susie_z_1.rds
Untracked: data/small_data_69_sim_gaussian_3_get_sumstats_1_susie_z_2.rds
Untracked: docs/figure/r_compare_add_z_finemap.Rmd/
Untracked: docs/figure/r_compare_susie_ROC.Rmd/
Untracked: figure/
Untracked: output/dscoutProblem475.rds
Untracked: output/dscoutProblem75.rds
Untracked: output/finemap_compare_random_data_null_dscout.rds
Untracked: output/finemap_compare_random_data_signal_dscout.rds
Untracked: output/finemap_compare_small_data_signal_dscout.rds
Untracked: output/finemap_compare_small_data_signal_dscout_RE8.rds
Untracked: output/r_compare_FINEMAP_PIP_ROC.rds
Untracked: output/r_compare_add_z_FINEMAP_PIP_ROC.rds
Untracked: output/r_compare_add_z_dscout_susie_finemap_tibble.rds
Untracked: output/r_compare_dscout_susie_finemappip_tibble.rds
Untracked: output/r_compare_dscout_susie_finemappip_truth_tibble.rds
Untracked: output/r_compare_susieb_PIP_ROC.rds
Untracked: output/r_compare_susiepip_tibble.rds
Untracked: output/r_compare_susierss_PIP_ROC.rds
Untracked: output/random_data_100_sim_gaussian_null_1_get_sumstats_1_finemap_1.rds
Untracked: output/random_data_31_35_fit_em.rds
Untracked: output/random_data_76.rds
Untracked: output/random_data_76_sim_gaussian_8.rds
Untracked: output/random_data_76_sim_gaussian_8_get_sumstats_1.rds
Untracked: output/small_data_42_sim_gaussian_36_get_sumstats_2_susie_z_2.rds
Untracked: output/small_data_92_sim_gaussian_30_get_sumstats_2_susie_z_2.rds
Unstaged changes:
Modified: analysis/SuSiEDAP_Power_data31_35.Rmd
Modified: analysis/SuSiErssNotConverge.Rmd
Modified: analysis/SusieZPerformance.Rmd
Modified: analysis/SusieZPerformanceRE3.Rmd
Modified: output/dsc_susie_z_v_output.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.
| File | Version | Author | Date | Message |
|---|---|---|---|---|
| Rmd | 5b02591 | zouyuxin | 2019-04-24 | wflow_publish(c(“analysis/r_compare_add_z_susie.Rmd”, “analysis/r_compare_add_z_finemap.Rmd”, |
The design matrix X are real human genotype data from GTEx project, the 150 data in dsc-finemap repo. We simulate under various number of causal variables (1,2) and total percentage of variance explained (0.1, 0.2). We set effect size of each causal variable to be equal. Using the summary statistics from univariate regression, we fit SuSiE model using in-sample/out-sample correlation matrix, and compare their results.
library(dscrutils)
library(tibble)
Warning: package 'tibble' was built under R version 3.5.2
library(kableExtra)
dscout = dscquery('r_compare_add_z', targets = 'sim_gaussian sim_gaussian.pve sim_gaussian.n_signal sim_gaussian.meta data.N_in susie.maxL susie_bhat.L susie_bhat.ld_method susie_bhat_add_z.L susie_bhat_add_z.ld_method susie_rss.L susie_rss.ld_method susie_rss_add_z.L susie_rss_add_z.ld_method finemap.ld_method finemap_add_z.ld_method score_susie.total score_susie.valid score_susie.size score_susie.purity score_susie.top score_susie.converged score_susie.pip score_finemap.pip', omit.filenames = FALSE)
dscout.tibble = as_tibble(dscout)
dscout = readRDS('output/r_compare_add_z_dscout_susie_finemap_tibble.rds')
dscout$method = rep(NA, nrow(dscout))
dscout$method[!is.na(dscout$susie.maxL)] = 'susie'
dscout$method[!is.na(dscout$susie_bhat.L)] = 'susie_b'
dscout$method[!is.na(dscout$susie_bhat_add_z.L)] = 'susie_b'
dscout$method[!is.na(dscout$susie_rss.L)] = 'susie_rss'
dscout$method[!is.na(dscout$susie_rss_add_z.L)] = 'susie_rss'
dscout$method[!is.na(dscout$finemap.ld_method)] = 'finemap'
dscout$method[!is.na(dscout$finemap_add_z.ld_method)] = 'finemap'
dscout$add_z = rep(FALSE, nrow(dscout))
dscout$add_z[!is.na(dscout$susie_bhat_add_z.L)] = TRUE
dscout$add_z[!is.na(dscout$susie_rss_add_z.L)] = TRUE
dscout$add_z[!is.na(dscout$finemap_add_z.ld_method)] = TRUE
dscout$ld_method = dscout$susie_bhat.ld_method
dscout$ld_method[!is.na(dscout$susie_bhat_add_z.ld_method)] = dscout$susie_bhat_add_z.ld_method[!is.na(dscout$susie_bhat_add_z.ld_method)]
dscout$ld_method[!is.na(dscout$susie_rss.ld_method)] = dscout$susie_rss.ld_method[!is.na(dscout$susie_rss.ld_method)]
dscout$ld_method[!is.na(dscout$susie_rss_add_z.ld_method)] = dscout$susie_rss_add_z.ld_method[!is.na(dscout$susie_rss_add_z.ld_method)]
dscout$ld_method[!is.na(dscout$finemap.ld_method)] = dscout$finemap.ld_method[!is.na(dscout$finemap.ld_method)]
dscout$ld_method[!is.na(dscout$finemap_add_z.ld_method)] = dscout$finemap_add_z.ld_method[!is.na(dscout$finemap_add_z.ld_method)]
dscout$L = dscout$susie.maxL
dscout$L[!is.na(dscout$susie_bhat.L)] = dscout$susie_bhat.L[!is.na(dscout$susie_bhat.L)]
dscout$L[!is.na(dscout$susie_bhat_add_z.L)] = dscout$susie_bhat_add_z.L[!is.na(dscout$susie_bhat_add_z.L)]
dscout$L[!is.na(dscout$susie_rss.L)] = dscout$susie_rss.L[!is.na(dscout$susie_rss.L)]
dscout$L[!is.na(dscout$susie_rss_add_z.L)] = dscout$susie_rss_add_z.L[!is.na(dscout$susie_rss_add_z.L)]
dscout = dscout[,-c(6,8:18)]
colnames(dscout) = c('DSC', 'filename','pve', 'n_signal', 'meta','N_in', 'total', 'valid', 'size', 'purity', 'top', 'converged', 'susie.pip','finemap.pip', 'method', 'add_z', 'ld_method', 'L')
dscout.susie = dscout[dscout$method == 'susie',]
dscout.susierss = dscout[dscout$method == 'susie_rss',]
dscout.susieb = dscout[dscout$method == 'susie_b',]
dscout.finemap = dscout[dscout$method == 'finemap',]
The model from susie all converge.
purity.susie.1 = round(aggregate(purity~pve+n_signal, dscout.susie[dscout.susie$L==1, ], mean), 3)
purity.susie.5 = round(aggregate(purity~pve+n_signal, dscout.susie[dscout.susie$L==5, ], mean), 3)
purity.susie = cbind(purity.susie.1, purity.susie.5)
purity.susie = purity.susie[,-c(4,5)]
colnames(purity.susie) = c('pve', 'n_signal', 'L = 1', 'L = 5')
purity.susie %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | L = 1 | L = 5 |
|---|---|---|---|
| 0.1 | 1 | 0.747 | 0.754 |
| 0.2 | 1 | 0.952 | 0.952 |
| 0.1 | 2 | 0.325 | 0.506 |
| 0.2 | 2 | 0.637 | 0.877 |
valid.1 = aggregate(valid ~ pve+n_signal, dscout.susie[dscout.susie$L==1, ], sum)
total.1 = aggregate(DSC~ pve+n_signal, dscout.susie[dscout.susie$L==1, ], length)
total.1$total_true = total.1$DSC * total.1$n_signal
power.susie.1 = merge(valid.1, total.1)
power.susie.1$power = round(power.susie.1$valid/(power.susie.1$total_true), 3)
power.susie.1 = power.susie.1[,-c(3,4,5)]
valid.5 = aggregate(valid ~ pve+n_signal, dscout.susie[dscout.susie$L==5, ], sum)
total.5 = aggregate(DSC~ pve+n_signal, dscout.susie[dscout.susie$L==5, ], length)
total.5$total_true = total.5$DSC * total.5$n_signal
power.susie.5 = merge(valid.5, total.5)
power.susie.5$power = round(power.susie.5$valid/(power.susie.5$total_true), 3)
power.susie.5 = power.susie.5[,-c(3,4,5)]
power.susie = cbind(power.susie.1, power.susie.5)
power.susie = power.susie[,-c(4,5)]
colnames(power.susie) = c('pve', 'n signal', 'L1_power', 'L5_power')
power.susie %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n signal | L1_power | L5_power |
|---|---|---|---|
| 0.1 | 1 | 0.860 | 0.867 |
| 0.1 | 2 | 0.140 | 0.313 |
| 0.2 | 1 | 0.993 | 0.993 |
| 0.2 | 2 | 0.240 | 0.707 |
valid.1 = aggregate(valid ~ pve+n_signal, dscout.susie[dscout.susie$L==1, ], sum)
total.1 = aggregate(total~ pve+n_signal, dscout.susie[dscout.susie$L==1, ], sum)
fdr.1 = merge(valid.1, total.1)
fdr.1$fdr.1 = round((fdr.1$total - fdr.1$valid)/fdr.1$total, 4)
fdr.1 = fdr.1[,-c(3,4)]
valid.5 = aggregate(valid ~ pve+n_signal, dscout.susie[dscout.susie$L==5, ], sum)
total.5 = aggregate(total~ pve+n_signal, dscout.susie[dscout.susie$L==5, ], sum)
fdr.5 = merge(valid.5, total.5)
fdr.5$fdr.5 = round((fdr.5$total - fdr.5$valid)/fdr.5$total, 4)
fdr.5 = fdr.5[,-c(3,4)]
fdr = Reduce(function(...) merge(...),
list(fdr.1, fdr.5))
colnames(fdr) = c( 'pve', 'n_signal', 'L = 1', 'L = 5')
fdr %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | L = 1 | L = 5 |
|---|---|---|---|
| 0.1 | 1 | 0.0077 | 0.0076 |
| 0.1 | 2 | 0.2759 | 0.1681 |
| 0.2 | 1 | 0.0067 | 0.0067 |
| 0.2 | 2 | 0.3208 | 0.1347 |
dscout.susieb.in_sample = dscout.susieb[dscout.susieb$ld_method == 'in_sample',]
dscout.susieb.out_sample = dscout.susieb[dscout.susieb$ld_method == 'out_sample',]
dscout.susieb.all = dscout.susieb[dscout.susieb$ld_method == 'all',]
dscout.susieb.all.addz = dscout.susieb.all[dscout.susieb.all$add_z == TRUE,]
dscout.susieb.out_sample.addz = dscout.susieb.out_sample[dscout.susieb.out_sample$add_z == TRUE,]
dscout.susieb.out_sample = dscout.susieb.out_sample[dscout.susieb.out_sample$add_z == FALSE,]
dscout.susieb.all = dscout.susieb.all[dscout.susieb.all$add_z == FALSE,]
The model from susie_bhat all converge. But some cases with out-sample R failed (out of 600). The estimated residual variance becomes negative.
converge.summary = aggregate(converged ~ ld_method + add_z + L, dscout.susieb, sum)
converge.summary$Fail = 600 - converge.summary$converged
Fail = converge.summary[converge.summary$Fail!=0,]
Fail[,-4] %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive"), full_width = F)
| ld_method | add_z | L | Fail | |
|---|---|---|---|---|
| 8 | out_sample | FALSE | 5 | 6 |
| 10 | out_sample | TRUE | 5 | 2 |
purity.susieb.in_sample.5 = round(aggregate(purity~pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==5,], mean), 3)
colnames(purity.susieb.in_sample.5)[colnames(purity.susieb.in_sample.5) == 'purity'] <- 'in_sample'
purity.susieb.out_sample.5 = round(aggregate(purity~pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==5)),], mean), 3)
colnames(purity.susieb.out_sample.5)[colnames(purity.susieb.out_sample.5) == 'purity'] <- 'out_sample'
purity.susieb.all.5 = round(aggregate(purity~pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==5)),], mean), 3)
colnames(purity.susieb.all.5)[colnames(purity.susieb.all.5) == 'purity'] <- 'all'
purity.susieb.out_sample.addz.5 = round(aggregate(purity~pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==5)),], mean), 3)
colnames(purity.susieb.out_sample.addz.5)[colnames(purity.susieb.out_sample.addz.5) == 'purity'] <- 'out_sample.addz'
purity.susieb.all.addz.5 = round(aggregate(purity~pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==5)),], mean), 3)
colnames(purity.susieb.all.addz.5)[colnames(purity.susieb.all.addz.5) == 'purity'] <- 'all.addz'
purity.susieb.5 = cbind(purity.susieb.in_sample.5, purity.susieb.out_sample.5, purity.susieb.out_sample.addz.5, purity.susieb.all.5, purity.susieb.all.addz.5)
purity.susieb.5 = purity.susieb.5[,-c(4,5,7,8,10,11,13,14)]
purity.susieb.5 %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all | all.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.754 | 0.742 | 0.754 | 0.748 | 0.757 |
| 0.2 | 1 | 0.952 | 0.945 | 0.943 | 0.941 | 0.947 |
| 0.1 | 2 | 0.506 | 0.545 | 0.450 | 0.515 | 0.461 |
| 0.2 | 2 | 0.877 | 0.898 | 0.821 | 0.862 | 0.854 |
L = 1
valid.in = aggregate(valid ~ pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==1,], sum)
total.in = aggregate(DSC~ pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==1,], length)
total.in$total_true = total.in$DSC * total.in$n_signal
power.susieb.in = merge(valid.in, total.in)
power.susieb.in$in_sample = round(power.susieb.in$valid/(power.susieb.in$total_true), 3)
power.susieb.in = power.susieb.in[,-c(3,4,5)]
valid.out = aggregate(valid ~ pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==1)),], sum)
total.out = aggregate(DSC~ pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==1)),], length)
total.out$total_true = total.out$DSC * total.out$n_signal
power.susieb.out = merge(valid.out, total.out)
power.susieb.out$out_sample = round(power.susieb.out$valid/(power.susieb.out$total_true), 3)
power.susieb.out = power.susieb.out[,-c(3,4,5)]
valid.out.addz = aggregate(valid ~ pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==1)),], sum)
total.out.addz = aggregate(DSC~ pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==1)),], length)
total.out.addz$total_true = total.out.addz$DSC * total.out.addz$n_signal
power.susieb.out.addz = merge(valid.out.addz, total.out.addz)
power.susieb.out.addz$out_sample.addz = round(power.susieb.out.addz$valid/(power.susieb.out.addz$total_true), 3)
power.susieb.out.addz = power.susieb.out.addz[,-c(3,4,5)]
valid.all = aggregate(valid ~ pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==1)),], sum)
total.all = aggregate(DSC~ pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==1)),], length)
total.all$total_true = total.all$DSC * total.all$n_signal
power.susieb.all = merge(valid.all, total.all)
power.susieb.all$all_sample = round(power.susieb.all$valid/(power.susieb.all$total_true), 3)
power.susieb.all = power.susieb.all[,-c(3,4,5)]
valid.all.addz = aggregate(valid ~ pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==1)),], sum)
total.all.addz = aggregate(DSC~ pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==1)),], length)
total.all.addz$total_true = total.all.addz$DSC * total.all.addz$n_signal
power.susieb.all.addz = merge(valid.all.addz, total.all.addz)
power.susieb.all.addz$all_sample.addz = round(power.susieb.all.addz$valid/(power.susieb.all.addz$total_true), 3)
power.susieb.all.addz = power.susieb.all.addz[,-c(3,4,5)]
power.susieb = cbind(power.susieb.in, power.susieb.out, power.susieb.out.addz, power.susieb.all, power.susieb.all.addz)
power.susieb = power.susieb[,-c(4,5,7,8,10,11,13,14)]
power.susieb %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all_sample | all_sample.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.860 | 0.847 | 0.860 | 0.860 | 0.867 |
| 0.1 | 2 | 0.140 | 0.137 | 0.140 | 0.137 | 0.143 |
| 0.2 | 1 | 0.993 | 0.993 | 0.993 | 0.993 | 0.993 |
| 0.2 | 2 | 0.240 | 0.230 | 0.240 | 0.233 | 0.243 |
L = 5
valid.in = aggregate(valid ~ pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==5,], sum)
total.in = aggregate(DSC~ pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==5,], length)
total.in$total_true = total.in$DSC * total.in$n_signal
power.susieb.in = merge(valid.in, total.in)
power.susieb.in$in_sample = round(power.susieb.in$valid/(power.susieb.in$total_true), 3)
power.susieb.in = power.susieb.in[,-c(3,4,5)]
valid.out = aggregate(valid ~ pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==5)),], sum)
total.out = aggregate(DSC~ pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==5)),], length)
total.out$total_true = total.out$DSC * total.out$n_signal
power.susieb.out = merge(valid.out, total.out)
power.susieb.out$out_sample = round(power.susieb.out$valid/(power.susieb.out$total_true), 3)
power.susieb.out = power.susieb.out[,-c(3,4,5)]
valid.out.addz = aggregate(valid ~ pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==5)),], sum)
total.out.addz = aggregate(DSC~ pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==5)),], length)
total.out.addz$total_true = total.out.addz$DSC * total.out.addz$n_signal
power.susieb.out.addz = merge(valid.out.addz, total.out.addz)
power.susieb.out.addz$out_sample.addz = round(power.susieb.out.addz$valid/(power.susieb.out.addz$total_true), 3)
power.susieb.out.addz = power.susieb.out.addz[,-c(3,4,5)]
valid.all = aggregate(valid ~ pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==5)),], sum)
total.all = aggregate(DSC~ pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==5)),], length)
total.all$total_true = total.all$DSC * total.all$n_signal
power.susieb.all = merge(valid.all, total.all)
power.susieb.all$all_sample = round(power.susieb.all$valid/(power.susieb.all$total_true), 3)
power.susieb.all = power.susieb.all[,-c(3,4,5)]
valid.all.addz = aggregate(valid ~ pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==5)),], sum)
total.all.addz = aggregate(DSC~ pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==5)),], length)
total.all.addz$total_true = total.all.addz$DSC * total.all.addz$n_signal
power.susieb.all.addz = merge(valid.all.addz, total.all.addz)
power.susieb.all.addz$all_sample.addz = round(power.susieb.all.addz$valid/(power.susieb.all.addz$total_true), 3)
power.susieb.all.addz = power.susieb.all.addz[,-c(3,4,5)]
power.susieb = cbind(power.susieb.in, power.susieb.out, power.susieb.out.addz, power.susieb.all, power.susieb.all.addz)
power.susieb = power.susieb[,-c(4,5,7,8,10,11,13,14)]
power.susieb %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all_sample | all_sample.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.867 | 0.833 | 0.860 | 0.867 | 0.873 |
| 0.1 | 2 | 0.313 | 0.310 | 0.227 | 0.303 | 0.267 |
| 0.2 | 1 | 0.993 | 0.952 | 0.986 | 0.987 | 0.987 |
| 0.2 | 2 | 0.707 | 0.571 | 0.543 | 0.673 | 0.650 |
L=1
valid.in = aggregate(valid ~ pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==1,], sum)
total.in = aggregate(total~ pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==1,], sum)
fdr.in = merge(valid.in, total.in)
fdr.in$in_sample = round((fdr.in$total - fdr.in$valid)/fdr.in$total, 4)
fdr.in = fdr.in[,-c(3,4)]
valid.out = aggregate(valid ~ pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==1)),], sum)
total.out = aggregate(total~ pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==1)),], sum)
fdr.out = merge(valid.out, total.out)
fdr.out$out_sample = round((fdr.out$total - fdr.out$valid)/fdr.out$total, 4)
fdr.out = fdr.out[,-c(3,4)]
valid.out.addz = aggregate(valid ~ pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==1)),], sum)
total.out.addz = aggregate(total~ pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==1)),], sum)
fdr.out.addz = merge(valid.out.addz, total.out.addz)
fdr.out.addz$out_sample.addz = round((fdr.out.addz$total - fdr.out.addz$valid)/fdr.out.addz$total, 4)
fdr.out.addz = fdr.out.addz[,-c(3,4)]
valid.all = aggregate(valid ~ pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==1)),], sum)
total.all = aggregate(total~ pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==1)),], sum)
fdr.all = merge(valid.all, total.all)
fdr.all$all = round((fdr.all$total - fdr.all$valid)/fdr.all$total, 4)
fdr.all = fdr.all[,-c(3,4)]
valid.all.addz = aggregate(valid ~ pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==1)),], sum)
total.all.addz = aggregate(total~ pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==1)),], sum)
fdr.all.addz = merge(valid.all.addz, total.all.addz)
fdr.all.addz$all.addz = round((fdr.all.addz$total - fdr.all.addz$valid)/fdr.all.addz$total, 4)
fdr.all.addz = fdr.all.addz[,-c(3,4)]
fdr.susieb = cbind(fdr.in, fdr.out, fdr.out.addz, fdr.all, fdr.all.addz)
fdr.susieb = fdr.susieb[,-c(4,5,7,8,10,11,13,14)]
fdr.susieb %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all | all.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.0077 | 0.0078 | 0.0077 | 0.0077 | 0.0076 |
| 0.1 | 2 | 0.2759 | 0.2807 | 0.2759 | 0.2807 | 0.2712 |
| 0.2 | 1 | 0.0067 | 0.0067 | 0.0067 | 0.0067 | 0.0067 |
| 0.2 | 2 | 0.3208 | 0.3301 | 0.3208 | 0.3269 | 0.3178 |
L=5
valid.in = aggregate(valid ~ pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==5,], sum)
total.in = aggregate(total~ pve+n_signal, dscout.susieb.in_sample[dscout.susieb.in_sample$L==5,], sum)
fdr.in = merge(valid.in, total.in)
fdr.in$in_sample = round((fdr.in$total - fdr.in$valid)/fdr.in$total, 4)
fdr.in = fdr.in[,-c(3,4)]
valid.out = aggregate(valid ~ pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==5)),], sum)
total.out = aggregate(total~ pve+n_signal, dscout.susieb.out_sample[as.logical((!is.na(dscout.susieb.out_sample$converged)) * (dscout.susieb.out_sample$L==5)),], sum)
fdr.out = merge(valid.out, total.out)
fdr.out$out_sample = round((fdr.out$total - fdr.out$valid)/fdr.out$total, 4)
fdr.out = fdr.out[,-c(3,4)]
valid.out.addz = aggregate(valid ~ pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==5)),], sum)
total.out.addz = aggregate(total~ pve+n_signal, dscout.susieb.out_sample.addz[as.logical((!is.na(dscout.susieb.out_sample.addz$converged)) * (dscout.susieb.out_sample.addz$L==5)),], sum)
fdr.out.addz = merge(valid.out.addz, total.out.addz)
fdr.out.addz$out_sample.addz = round((fdr.out.addz$total - fdr.out.addz$valid)/fdr.out.addz$total, 4)
fdr.out.addz = fdr.out.addz[,-c(3,4)]
valid.all = aggregate(valid ~ pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==5)),], sum)
total.all = aggregate(total~ pve+n_signal, dscout.susieb.all[as.logical((!is.na(dscout.susieb.all$converged)) * (dscout.susieb.all$L==5)),], sum)
fdr.all = merge(valid.all, total.all)
fdr.all$all = round((fdr.all$total - fdr.all$valid)/fdr.all$total, 4)
fdr.all = fdr.all[,-c(3,4)]
valid.all.addz = aggregate(valid ~ pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==5)),], sum)
total.all.addz = aggregate(total~ pve+n_signal, dscout.susieb.all.addz[as.logical((!is.na(dscout.susieb.all.addz$converged)) * (dscout.susieb.all.addz$L==5)),], sum)
fdr.all.addz = merge(valid.all.addz, total.all.addz)
fdr.all.addz$all.addz = round((fdr.all.addz$total - fdr.all.addz$valid)/fdr.all.addz$total, 4)
fdr.all.addz = fdr.all.addz[,-c(3,4)]
fdr.susieb = cbind(fdr.in, fdr.out, fdr.out.addz, fdr.all, fdr.all.addz)
fdr.susieb = fdr.susieb[,-c(4,5,7,8,10,11,13,14)]
fdr.susieb %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all | all.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.0076 | 0.1259 | 0.0515 | 0.0076 | 0.0076 |
| 0.1 | 2 | 0.1681 | 0.3758 | 0.2766 | 0.2018 | 0.1837 |
| 0.2 | 1 | 0.0067 | 0.3694 | 0.0988 | 0.0573 | 0.0263 |
| 0.2 | 2 | 0.1347 | 0.4766 | 0.2756 | 0.1920 | 0.1558 |
dscout.susierss.in_sample = dscout.susierss[dscout.susierss$ld_method == 'in_sample',]
dscout.susierss.out_sample = dscout.susierss[dscout.susierss$ld_method == 'out_sample',]
dscout.susierss.all = dscout.susierss[dscout.susierss$ld_method == 'all',]
dscout.susierss.all.addz = dscout.susierss.all[dscout.susierss.all$add_z == TRUE,]
dscout.susierss.out_sample.addz = dscout.susierss.out_sample[dscout.susierss.out_sample$add_z == TRUE,]
dscout.susierss.out_sample = dscout.susierss.out_sample[dscout.susierss.out_sample$add_z == FALSE,]
dscout.susierss.all = dscout.susierss.all[dscout.susierss.all$add_z == FALSE,]
The model from susie_rss all converge.
purity.susierss.in_sample.5 = round(aggregate(purity~pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==5,], mean), 3)
colnames(purity.susierss.in_sample.5)[colnames(purity.susierss.in_sample.5) == 'purity'] <- 'in_sample'
purity.susierss.out_sample.5 = round(aggregate(purity~pve+n_signal, dscout.susierss.out_sample[as.logical((!is.na(dscout.susierss.out_sample$converged)) * (dscout.susierss.out_sample$L==5)),], mean), 3)
colnames(purity.susierss.out_sample.5)[colnames(purity.susierss.out_sample.5) == 'purity'] <- 'out_sample'
purity.susierss.all.5 = round(aggregate(purity~pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==5,], mean), 3)
colnames(purity.susierss.all.5)[colnames(purity.susierss.all.5) == 'purity'] <- 'all'
purity.susierss.out_sample.addz.5 = round(aggregate(purity~pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==5,], mean), 3)
colnames(purity.susierss.out_sample.addz.5)[colnames(purity.susierss.out_sample.addz.5) == 'purity'] <- 'out_sample.addz'
purity.susierss.all.addz.5 = round(aggregate(purity~pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==5,], mean), 3)
colnames(purity.susierss.all.addz.5)[colnames(purity.susierss.all.addz.5) == 'purity'] <- 'all.addz'
purity.susierss.5 = cbind(purity.susierss.in_sample.5, purity.susierss.out_sample.5, purity.susierss.out_sample.addz.5, purity.susierss.all.5, purity.susierss.all.addz.5)
purity.susierss.5 = purity.susierss.5[,-c(4,5,7,8,10,11,13,14)]
purity.susierss.5 %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all | all.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.760 | 0.701 | 0.760 | 0.749 | 0.760 |
| 0.2 | 1 | 0.954 | 0.937 | 0.945 | 0.946 | 0.951 |
| 0.1 | 2 | 0.512 | 0.493 | 0.436 | 0.472 | 0.460 |
| 0.2 | 2 | 0.878 | 0.849 | 0.813 | 0.856 | 0.816 |
L = 1
valid.in = aggregate(valid ~ pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==1,], sum)
total.in = aggregate(DSC~ pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==1,], length)
total.in$total_true = total.in$DSC * total.in$n_signal
power.susierss.in = merge(valid.in, total.in)
power.susierss.in$in_sample = round(power.susierss.in$valid/(power.susierss.in$total_true), 3)
power.susierss.in = power.susierss.in[,-c(3,4,5)]
valid.out = aggregate(valid ~ pve+n_signal, dscout.susierss.out_sample[dscout.susierss.out_sample$L==1,], sum)
total.out = aggregate(DSC~ pve+n_signal, dscout.susierss.out_sample[dscout.susierss.out_sample$L==1,], length)
total.out$total_true = total.out$DSC * total.out$n_signal
power.susierss.out = merge(valid.out, total.out)
power.susierss.out$out_sample = round(power.susierss.out$valid/(power.susierss.out$total_true), 3)
power.susierss.out = power.susierss.out[,-c(3,4,5)]
valid.out.addz = aggregate(valid ~ pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==1,], sum)
total.out.addz = aggregate(DSC~ pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==1,], length)
total.out.addz$total_true = total.out.addz$DSC * total.out.addz$n_signal
power.susierss.out.addz = merge(valid.out.addz, total.out.addz)
power.susierss.out.addz$out_sample.addz = round(power.susierss.out.addz$valid/(power.susierss.out.addz$total_true), 3)
power.susierss.out.addz = power.susierss.out.addz[,-c(3,4,5)]
valid.all = aggregate(valid ~ pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==1,], sum)
total.all = aggregate(DSC~ pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==1,], length)
total.all$total_true = total.all$DSC * total.all$n_signal
power.susierss.all = merge(valid.all, total.all)
power.susierss.all$all_sample = round(power.susierss.all$valid/(power.susierss.all$total_true), 3)
power.susierss.all = power.susierss.all[,-c(3,4,5)]
valid.all.addz = aggregate(valid ~ pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==1,], sum)
total.all.addz = aggregate(DSC~ pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==1,], length)
total.all.addz$total_true = total.all.addz$DSC * total.all.addz$n_signal
power.susierss.all.addz = merge(valid.all.addz, total.all.addz)
power.susierss.all.addz$all_sample.addz = round(power.susierss.all.addz$valid/(power.susierss.all.addz$total_true), 3)
power.susierss.all.addz = power.susierss.all.addz[,-c(3,4,5)]
power.susierss = cbind(power.susierss.in, power.susierss.out, power.susierss.out.addz, power.susierss.all, power.susierss.all.addz)
power.susierss = power.susierss[,-c(4,5,7,8,10,11,13,14)]
power.susierss %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all_sample | all_sample.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.867 | 0.793 | 0.873 | 0.847 | 0.853 |
| 0.1 | 2 | 0.150 | 0.137 | 0.150 | 0.150 | 0.147 |
| 0.2 | 1 | 0.980 | 0.807 | 0.987 | 0.940 | 0.980 |
| 0.2 | 2 | 0.247 | 0.210 | 0.243 | 0.230 | 0.247 |
L = 5
valid.in = aggregate(valid ~ pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==5,], sum)
total.in = aggregate(DSC~ pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==5,], length)
total.in$total_true = total.in$DSC * total.in$n_signal
power.susierss.in = merge(valid.in, total.in)
power.susierss.in$in_sample = round(power.susierss.in$valid/(power.susierss.in$total_true), 3)
power.susierss.in = power.susierss.in[,-c(3,4,5)]
valid.out = aggregate(valid ~ pve+n_signal, dscout.susierss.out_sample[dscout.susierss.out_sample$L==5,], sum)
total.out = aggregate(DSC~ pve+n_signal, dscout.susierss.out_sample[dscout.susierss.out_sample$L==5,], length)
total.out$total_true = total.out$DSC * total.out$n_signal
power.susierss.out = merge(valid.out, total.out)
power.susierss.out$out_sample = round(power.susierss.out$valid/(power.susierss.out$total_true), 3)
power.susierss.out = power.susierss.out[,-c(3,4,5)]
valid.out.addz = aggregate(valid ~ pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==5,], sum)
total.out.addz = aggregate(DSC~ pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==5,], length)
total.out.addz$total_true = total.out.addz$DSC * total.out.addz$n_signal
power.susierss.out.addz = merge(valid.out.addz, total.out.addz)
power.susierss.out.addz$out_sample.addz = round(power.susierss.out.addz$valid/(power.susierss.out.addz$total_true), 3)
power.susierss.out.addz = power.susierss.out.addz[,-c(3,4,5)]
valid.all = aggregate(valid ~ pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==5,], sum)
total.all = aggregate(DSC~ pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==5,], length)
total.all$total_true = total.all$DSC * total.all$n_signal
power.susierss.all = merge(valid.all, total.all)
power.susierss.all$all_sample = round(power.susierss.all$valid/(power.susierss.all$total_true), 3)
power.susierss.all = power.susierss.all[,-c(3,4,5)]
valid.all.addz = aggregate(valid ~ pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==5,], sum)
total.all.addz = aggregate(DSC~ pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==5,], length)
total.all.addz$total_true = total.all.addz$DSC * total.all.addz$n_signal
power.susierss.all.addz = merge(valid.all.addz, total.all.addz)
power.susierss.all.addz$all_sample.addz = round(power.susierss.all.addz$valid/(power.susierss.all.addz$total_true), 3)
power.susierss.all.addz = power.susierss.all.addz[,-c(3,4,5)]
power.susierss = cbind(power.susierss.in, power.susierss.out, power.susierss.out.addz, power.susierss.all, power.susierss.all.addz)
power.susierss = power.susierss[,-c(4,5,7,8,10,11,13,14)]
power.susierss %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all_sample | all_sample.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.867 | 0.787 | 0.867 | 0.853 | 0.860 |
| 0.1 | 2 | 0.310 | 0.260 | 0.213 | 0.280 | 0.233 |
| 0.2 | 1 | 0.980 | 0.800 | 0.973 | 0.933 | 0.973 |
| 0.2 | 2 | 0.700 | 0.553 | 0.513 | 0.640 | 0.580 |
L=1
valid.in = aggregate(valid ~ pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==1,], sum)
total.in = aggregate(total~ pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==1,], sum)
fdr.in = merge(valid.in, total.in)
fdr.in$in_sample = round((fdr.in$total - fdr.in$valid)/fdr.in$total, 4)
fdr.in = fdr.in[,-c(3,4)]
valid.out = aggregate(valid ~ pve+n_signal, dscout.susierss.out_sample[dscout.susierss.out_sample$L==1,], sum)
total.out = aggregate(total~ pve+n_signal, dscout.susierss.out_sample[dscout.susierss.out_sample$L==1,], sum)
fdr.out = merge(valid.out, total.out)
fdr.out$out_sample = round((fdr.out$total - fdr.out$valid)/fdr.out$total, 4)
fdr.out = fdr.out[,-c(3,4)]
valid.out.addz = aggregate(valid ~ pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==1,], sum)
total.out.addz = aggregate(total~ pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==1,], sum)
fdr.out.addz = merge(valid.out.addz, total.out.addz)
fdr.out.addz$out_sample.addz = round((fdr.out.addz$total - fdr.out.addz$valid)/fdr.out.addz$total, 4)
fdr.out.addz = fdr.out.addz[,-c(3,4)]
valid.all = aggregate(valid ~ pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==1,], sum)
total.all = aggregate(total~ pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==1,], sum)
fdr.all = merge(valid.all, total.all)
fdr.all$all = round((fdr.all$total - fdr.all$valid)/fdr.all$total, 4)
fdr.all = fdr.all[,-c(3,4)]
valid.all.addz = aggregate(valid ~ pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==1,], sum)
total.all.addz = aggregate(total~ pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==1,], sum)
fdr.all.addz = merge(valid.all.addz, total.all.addz)
fdr.all.addz$all.addz = round((fdr.all.addz$total - fdr.all.addz$valid)/fdr.all.addz$total, 4)
fdr.all.addz = fdr.all.addz[,-c(3,4)]
fdr.susierss = cbind(fdr.in, fdr.out, fdr.out.addz, fdr.all, fdr.all.addz)
fdr.susierss = fdr.susierss[,-c(4,5,7,8,10,11,13,14)]
fdr.susierss %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all | all.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.0076 | 0.0556 | 0.0076 | 0.0231 | 0.0229 |
| 0.1 | 2 | 0.2623 | 0.3279 | 0.2500 | 0.2623 | 0.3016 |
| 0.2 | 1 | 0.0200 | 0.1933 | 0.0133 | 0.0600 | 0.0200 |
| 0.2 | 2 | 0.3148 | 0.3824 | 0.3178 | 0.3365 | 0.3333 |
L=5
valid.in = aggregate(valid ~ pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==5,], sum)
total.in = aggregate(total~ pve+n_signal, dscout.susierss.in_sample[dscout.susierss.in_sample$L==5,], sum)
fdr.in = merge(valid.in, total.in)
fdr.in$in_sample = round((fdr.in$total - fdr.in$valid)/fdr.in$total, 4)
fdr.in = fdr.in[,-c(3,4)]
valid.out = aggregate(valid ~ pve+n_signal, dscout.susierss.out_sample[dscout.susierss.out_sample$L==5,], sum)
total.out = aggregate(total~ pve+n_signal, dscout.susierss.out_sample[dscout.susierss.out_sample$L==5,], sum)
fdr.out = merge(valid.out, total.out)
fdr.out$out_sample = round((fdr.out$total - fdr.out$valid)/fdr.out$total, 4)
fdr.out = fdr.out[,-c(3,4)]
valid.out.addz = aggregate(valid ~ pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==5,], sum)
total.out.addz = aggregate(total~ pve+n_signal, dscout.susierss.out_sample.addz[dscout.susierss.out_sample.addz$L==5,], sum)
fdr.out.addz = merge(valid.out.addz, total.out.addz)
fdr.out.addz$out_sample.addz = round((fdr.out.addz$total - fdr.out.addz$valid)/fdr.out.addz$total, 4)
fdr.out.addz = fdr.out.addz[,-c(3,4)]
valid.all = aggregate(valid ~ pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==5,], sum)
total.all = aggregate(total~ pve+n_signal, dscout.susierss.all[dscout.susierss.all$L==5,], sum)
fdr.all = merge(valid.all, total.all)
fdr.all$all = round((fdr.all$total - fdr.all$valid)/fdr.all$total, 4)
fdr.all = fdr.all[,-c(3,4)]
valid.all.addz = aggregate(valid ~ pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==5,], sum)
total.all.addz = aggregate(total~ pve+n_signal, dscout.susierss.all.addz[dscout.susierss.all.addz$L==5,], sum)
fdr.all.addz = merge(valid.all.addz, total.all.addz)
fdr.all.addz$all.addz = round((fdr.all.addz$total - fdr.all.addz$valid)/fdr.all.addz$total, 4)
fdr.all.addz = fdr.all.addz[,-c(3,4)]
fdr.susierss = cbind(fdr.in, fdr.out, fdr.out.addz, fdr.all, fdr.all.addz)
fdr.susierss = fdr.susierss[,-c(4,5,7,8,10,11,13,14)]
fdr.susierss %>% kable() %>% kable_styling(bootstrap_options = c("striped", "condensed", "responsive","bordered"), full_width = F)
| pve | n_signal | in_sample | out_sample | out_sample.addz | all | all.addz |
|---|---|---|---|---|---|---|
| 0.1 | 1 | 0.0076 | 0.0635 | 0.0441 | 0.0229 | 0.0227 |
| 0.1 | 2 | 0.1770 | 0.2844 | 0.2471 | 0.1845 | 0.2391 |
| 0.2 | 1 | 0.0200 | 0.2357 | 0.0875 | 0.0789 | 0.0395 |
| 0.2 | 2 | 0.1250 | 0.3112 | 0.2667 | 0.1724 | 0.1635 |
sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS 10.14.4
Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] kableExtra_1.0.1 tibble_2.0.1 dscrutils_0.3.8
loaded via a namespace (and not attached):
[1] Rcpp_1.0.0 rstudioapi_0.9.0 xml2_1.2.0
[4] knitr_1.20 whisker_0.3-2 magrittr_1.5
[7] workflowr_1.1.1 hms_0.4.2 munsell_0.5.0
[10] rvest_0.3.2 viridisLite_0.3.0 colorspace_1.4-0
[13] R6_2.3.0 rlang_0.3.1 highr_0.7
[16] httr_1.4.0 stringr_1.3.1 tools_3.5.1
[19] webshot_0.5.1 R.oo_1.22.0 git2r_0.24.0
[22] htmltools_0.3.6 yaml_2.2.0 rprojroot_1.3-2
[25] digest_0.6.18 crayon_1.3.4 readr_1.3.1
[28] R.utils_2.7.0 glue_1.3.0 evaluate_0.12
[31] rmarkdown_1.11 stringi_1.2.4 compiler_3.5.1
[34] pillar_1.3.1 scales_1.0.0 backports_1.1.3
[37] R.methodsS3_1.7.1 pkgconfig_2.0.2
This reproducible R Markdown analysis was created with workflowr 1.1.1