# devtools::load_all();
allDags <-
raven::create_all_dags(
c('var_1', 'var_2', 'var_3')
);
#> Starting to process 6 dyads, in 3 combinations.
#> For 1 edge combinations, expanded the grid of 6 edge dyads to a matrix with 6 rows.
#> For 2 edge combinations, expanded the grid of 6 edge dyads to a matrix with 36 rows.
#> For 3 edge combinations, expanded the grid of 6 edge dyads to a matrix with 216 rows.
#> Out of the 6 edge combinations 0 contained duplicate dyads, and 0 contained loops. Removing those to retain edge combinations.
#> Out of the 36 edge combinations 6 contained duplicate dyads, and 12 contained loops. Removing those to retain 24 edge combinations.
#> Out of the 216 edge combinations 96 contained duplicate dyads, and 168 contained loops. Removing those to retain 48 edge combinations.
#> Starting to sort and prune edge combinations for a maximum number of edges of 3, containing respectively '6', '36' & '216' edge combinations each.
#> Starting to compose the full DAG list for 26 edge combinations.
### We actually ignore the conditional independencies
raven::export_dag_overview(allDags);
### This should be a scale so it can be plotted on the X axis
crudFactor <- c(0.1, 0.2, 0.3);
### We should have a justification for de Crud distribution(s) we use
### Or we do sensitivity analyses with different distributions
### Present disagreement: 2023-06-13: Stefan argues that the distribution
### of crud can be considered to approximate the sampling distribution of
### Pearson's r. GJ argues that this distribution is unknown.
currentMeanCrud <- .2;
ravenUniverse <-
raven::create_universe(
3,
rCorDistFun = rnorm, ### Can also be e.g. runif()
mean = currentMeanCrud, ### Dividing the mean by 1.6 is based on
sd = currentMeanCrud / 1.6 ### https://doi.org/bt7qq9 - of course never use:
### https://sci-hub.se/10.2466/pr0.1991.69.1.123
);
### Present disagreement: 2023-06-13: Whether the most informative plots show
### percentage of 'significant results' as a function of power or sample size
Selecting a conceptual model to study
chosenDag <-
sample(allDags$dagList, 1)[[1]];
DiagrammeR::render_graph(chosenDag$diagram);
Doing five studies of this chosen DAG
exampleStudy <- raven::conduct_studies(universe = ravenUniverse,
dag = chosenDag,
nrOfStudies = 5,
sesoi = .3,
power = .8,
alpha = .05);
exampleStudy;
#> studyNr var1 var2 sesoi n power r p sig
#> 1 1 var_2 var_1 0.3 85 0.8 0.03361050 7.600831e-01 FALSE
#> 2 1 var_3 var_2 0.3 85 0.8 0.43461443 3.236493e-05 TRUE
#> 3 2 var_2 var_1 0.3 85 0.8 0.23114808 3.330049e-02 TRUE
#> 4 2 var_3 var_2 0.3 85 0.8 0.30197433 4.973703e-03 TRUE
#> 5 3 var_2 var_1 0.3 85 0.8 0.08942075 4.157343e-01 FALSE
#> 6 3 var_3 var_2 0.3 85 0.8 0.26421176 1.454826e-02 TRUE
#> 7 4 var_2 var_1 0.3 85 0.8 0.30712708 4.248543e-03 TRUE
#> 8 4 var_3 var_2 0.3 85 0.8 0.52085307 3.218476e-07 TRUE
#> 9 5 var_2 var_1 0.3 85 0.8 0.22175502 4.138230e-02 TRUE
#> 10 5 var_3 var_2 0.3 85 0.8 0.45660970 1.121498e-05 TRUE
#> study_prop_sig power_posthoc
#> 1 0.5 0.06060283
#> 2 0.5 0.98863053
#> 3 1.0 0.57244454
#> 4 1.0 0.80980912
#> 5 0.5 0.12887055
#> 6 0.5 0.69264320
#> 7 1.0 0.82352975
#> 8 1.0 0.99950978
#> 9 1.0 0.53683454
#> 10 1.0 0.99425657
Choosing 10 DAGs and doing 10 studies for each
careerDAGs <- list();
careerResults <- list();
careerSummary <- list();
### Proportion of correlations in one study that has to be
### significant to claim partial support
partialSupportCriterion <- .5;
for (i in 1:10) {
careerDAGs[[i]] <- sample(allDags$dagList, 1)[[1]];
careerResults[[i]] <-
raven::conduct_studies(universe = ravenUniverse,
dag = careerDAGs[[i]],
nrOfStudies = 10,
sesoi = .3,
power = .8,
alpha = .05);
careerSummary[[i]] <-
unlist(
by(careerResults[[i]]$study_prop_sig,
careerResults[[i]]$studyNr,
function(x) {
return(
ifelse(
x[1] == 0,
"rejected",
ifelse(
x[1] == 1,
"supported",
ifelse(
x[1] >= partialSupportCriterion,
"partial",
"inconclusive"
)
)
)
); }
)
);
}
careerSummary
#> [[1]]
#> careerResults[[i]]$studyNr: 1
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "rejected"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "supported"
#>
#> [[2]]
#> careerResults[[i]]$studyNr: 1
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "rejected"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "supported"
#>
#> [[3]]
#> careerResults[[i]]$studyNr: 1
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "supported"
#>
#> [[4]]
#> careerResults[[i]]$studyNr: 1
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "supported"
#>
#> [[5]]
#> careerResults[[i]]$studyNr: 1
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "rejected"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "partial"
#>
#> [[6]]
#> careerResults[[i]]$studyNr: 1
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "partial"
#>
#> [[7]]
#> careerResults[[i]]$studyNr: 1
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "supported"
#>
#> [[8]]
#> careerResults[[i]]$studyNr: 1
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "supported"
#>
#> [[9]]
#> careerResults[[i]]$studyNr: 1
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "partial"
#>
#> [[10]]
#> careerResults[[i]]$studyNr: 1
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 2
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 3
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 4
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 5
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 6
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 7
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 8
#> [1] "supported"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 9
#> [1] "partial"
#> ------------------------------------------------------------
#> careerResults[[i]]$studyNr: 10
#> [1] "supported"
careerResults[[2]]
#> studyNr var1 var2 sesoi n power r p sig
#> 1 1 var_2 var_1 0.3 85 0.8 0.3488387 1.068121e-03 TRUE
#> 2 1 var_3 var_2 0.3 85 0.8 0.2558009 1.813226e-02 TRUE
#> 3 2 var_2 var_1 0.3 85 0.8 0.3443884 1.249093e-03 TRUE
#> 4 2 var_3 var_2 0.3 85 0.8 0.5158367 4.362132e-07 TRUE
#> 5 3 var_2 var_1 0.3 85 0.8 0.3194192 2.884607e-03 TRUE
#> 6 3 var_3 var_2 0.3 85 0.8 0.3122007 3.628071e-03 TRUE
#> 7 4 var_2 var_1 0.3 85 0.8 0.2267501 3.690220e-02 TRUE
#> 8 4 var_3 var_2 0.3 85 0.8 0.2767295 1.035268e-02 TRUE
#> 9 5 var_2 var_1 0.3 85 0.8 0.1942767 7.480814e-02 FALSE
#> 10 5 var_3 var_2 0.3 85 0.8 0.2019625 6.379884e-02 FALSE
#> 11 6 var_2 var_1 0.3 85 0.8 0.1493453 1.725130e-01 FALSE
#> 12 6 var_3 var_2 0.3 85 0.8 0.6022465 1.078955e-09 TRUE
#> 13 7 var_2 var_1 0.3 85 0.8 0.1805335 9.824774e-02 FALSE
#> 14 7 var_3 var_2 0.3 85 0.8 0.3417519 1.368994e-03 TRUE
#> 15 8 var_2 var_1 0.3 85 0.8 0.1904412 8.084578e-02 FALSE
#> 16 8 var_3 var_2 0.3 85 0.8 0.3507900 9.965614e-04 TRUE
#> 17 9 var_2 var_1 0.3 85 0.8 0.1703572 1.190487e-01 FALSE
#> 18 9 var_3 var_2 0.3 85 0.8 0.4217152 5.828923e-05 TRUE
#> 19 10 var_2 var_1 0.3 85 0.8 0.2186019 4.443655e-02 TRUE
#> 20 10 var_3 var_2 0.3 85 0.8 0.4843039 2.649564e-06 TRUE
#> study_prop_sig power_posthoc
#> 1 1.0 0.9122105
#> 2 1.0 0.6632035
#> 3 1.0 0.9046400
#> 4 1.0 0.9993890
#> 5 1.0 0.8538267
#> 6 1.0 0.8364545
#> 7 1.0 0.5558066
#> 8 1.0 0.7344499
#> 9 0.0 0.4329087
#> 10 0.0 0.4616908
#> 11 0.5 0.2777096
#> 12 0.5 0.9999941
#> 13 0.5 0.3826466
#> 14 0.5 0.8999472
#> 15 0.5 0.4187037
#> 16 0.5 0.9153927
#> 17 0.5 0.3467987
#> 18 0.5 0.9835813
#> 19 1.0 0.5248361
#> 20 1.0 0.9978219
To do for future us for a future paper
- uitvinden welke ‘non-edges’ er zijn
- die ook toetsen
- partiele correlaties (of p-values uit regressies) voor conditional independence
- beslissingsregels voor:
- geen verband
- wel verband
- conditional independence (en dus unconditional dependence)
- geagregeerde beslissingsregels (over hele dag)
- post-hoc power toevoegen