Report poolability for every combination of datasets
Source:R/pooling.R
poolability_combinations.RdTests every subset containing at least two datasets, separately for each
model. For three datasets A, B, and C, reports A+B, A+C, B+C, and A+B+C.
Singletons need no pooling test. Results describe candidate combinations;
overlapping combinations are allowed and no final grouping is selected.
These are exploratory, unadjusted tests. A passing test does not establish
equivalence, and results with converged = FALSE may be unreliable.
Usage
poolability_combinations(
datasets,
models = c("exponential", "beta_poisson"),
alpha = 0.05,
max_datasets = 6L
)Arguments
- datasets
A named list of dose-response data frames (accepted by
as_dose_response()) or already-standardized tibbles. Unnamed elements are nameddataset_1,dataset_2, and so on.- models
Character vector of models, a subset of
"exponential","beta_poisson", and"exact_beta_poisson".- alpha
Significance level for the chi-squared test.
- max_datasets
Maximum collection size, default six. The number of combinations grows exponentially (
2^n - n - 1).
Value
A tibble with combination (a readable label), datasets (a list
column of exact dataset names), and all columns from poolability_test().
Each row describes one combination under one model.
Details
A passing pair need not remain poolable after another dataset is
added. Inspect the row for the complete combination you intend to pool.
Check metadata compatibility before testing; it is not enforced here.
Use group_datasets() to choose non-overlapping groups from these trials.
Examples
path <- system.file("extdata", "pooling-example.csv", package = "singlehit")
raw <- readr::read_csv(path, show_col_types = FALSE)
trials <- split(raw, raw$study_id)
report <- poolability_combinations(trials)
report[c("combination", "model", "p_value", "poolable", "converged")]
#> # A tibble: 8 × 5
#> combination model p_value poolable converged
#> <chr> <chr> <dbl> <lgl> <lgl>
#> 1 A + B exponential 9.40e- 1 TRUE TRUE
#> 2 A + B beta_poisson 9.25e- 1 TRUE TRUE
#> 3 A + C exponential 2.50e-66 FALSE TRUE
#> 4 A + C beta_poisson 9.60e-62 FALSE TRUE
#> 5 B + C exponential 4.06e-67 FALSE TRUE
#> 6 B + C beta_poisson 4.31e-62 FALSE TRUE
#> 7 A + B + C exponential 5.24e-87 FALSE TRUE
#> 8 A + B + C beta_poisson 1.19e-79 FALSE TRUE
# A+B passes; A+C, B+C, and A+B+C fail under both models.
# Keep C separate when considering A and B for pooling.