Skip to contents

manytestsr 0.0.4.1003

New features

  • New exported function pPolyRank() tests Fisher’s sharp null of no effects using multiple polynomial rank score functions simultaneously via coin::independence_test(). Computes within-block polynomial scores at multiple r values (default r = 2, 6, 10) and passes them as a multivariate response, providing adaptive sensitivity to treatment effects without pre-committing to a single rank scoring.

  • New exported function pCombStephenson() provides a formula-based wrapper around CMRSS::pval_comb_block(), the combined Stephenson rank test of Kim, Li, and Bowers. Tests quantile-of-effects hypotheses (whether the k-th largest individual effect exceeds a threshold); defaults to k = n, c = 0 for the sharp null. CMRSS is a Suggests dependency installed from GitHub (bowers-illinois-edu/CMRSS).

Dependency changes

  • Moved 8 packages from Imports to Suggests: stringi, tidygraph, ggraph, digest, ggplot2, Ckmeans.1d.dp, onlineFDR, hommel. Core test statistic functions (pIndepDist, pTestTwice, pCombCauchyDist, pOneway, pWilcox) now install without pulling in heavy tree-testing and visualization libraries. Functions that need the moved packages check with requireNamespace() and give a clear error message if the package is missing.

  • Removed ClusterR from Imports (unused; the code that called it was already commented out).

  • Replaced dataPreparation dependency with an internal which_are_constant() helper (a one-liner that checks for columns with fewer than 2 unique values). dataPreparation remains in Suggests for cross-validation testing only.

  • Added CMRSS to Suggests (GitHub-only: bowers-illinois-edu/CMRSS).

manytestsr 0.0.4.1002

New features

  • New exported factory function alpha_adaptive_tree_pruned() creates a branch-pruning adaptive alpha system for use with find_blocks(). Unlike alpha_adaptive_tree(), which pre-computes a fixed schedule, this version can recompute the schedule on the surviving subtree after each depth — giving more alpha to surviving branches when dead branches are removed. Returns a list with three components: $alphafn (standard closure), $update (recompute on pruned tree), and $reset (restore full tree).

  • find_blocks() now supports list-valued alphafn parameters. When alphafn is a list (as returned by alpha_adaptive_tree_pruned()), find_blocks extracts the $alphafn, $update, and $reset components, calls reset at the start of each run, and calls update after each depth’s testable decisions. Plain function alphafn values continue to work unchanged.

  • New internal helper .get_all_descendants() performs BFS traversal on tree-structured node_dat to find all descendants of given nodes.

manytestsr 0.0.4.1001

New features

  • New exported function compute_adaptive_alphas_tree() computes per-depth adjusted significance levels from an actual (possibly irregular) tree structure. Takes node_dat with per-node sample sizes (as returned by find_blocks()) instead of assuming a regular k-ary tree. The algorithm divides alpha at each depth by the sum of path powers — the expected number of tests conducted at that depth. For regular k-ary trees, this produces identical results to the parametric compute_adaptive_alphas().

  • New exported factory function alpha_adaptive_tree() creates a closure for use with find_blocks(alphafn = ...), using the tree-based alpha schedule from compute_adaptive_alphas_tree(). Drop-in replacement for alpha_adaptive() when the tree has irregular branching or unequal sample sizes across nodes.

Bug fixes

  • Fixed 11 test failures in test_alpha_adaptive.R that referenced the removed tau parameter. Two tests (“tau = 0” and “tau = 1”) were rewritten as error-load equivalents; the rest had tau arguments removed.

manytestsr 0.0.4.1000

New features

  • New exported function compute_error_load() computes the error load at each tree level — the expected number of all-null sibling groups that the procedure tests. When the total error load is at most 1, the unadjusted procedure controls FWER via natural gating; when it exceeds 1, adaptive alpha adjustment is required. Supports both a parametric interface (regular k-ary trees with equal splits) and a tree interface (irregular trees with per-node sample sizes from find_blocks()).

Changes

  • compute_adaptive_alphas() now checks the error load before computing adjusted alphas. When the total error load is at most 1 (natural gating suffices), nominal alpha is returned at every level without adjustment. The tau parameter has been removed; the error load check replaces it.

  • compute_adaptive_alphas() gains an "error_load" attribute on its return value, so callers can inspect the error load diagnostics without a separate call to compute_error_load().

manytestsr 0.0.4.0000

New features

  • Added adaptive alpha adjustment for tree-structured hypothesis testing (compute_adaptive_alphas() and alpha_adaptive()). This implements Algorithm 1 from the paper’s Appendix D, which adjusts significance levels at each tree depth based on estimated power decay. When cumulative power is high, alpha is tightened to account for the multiplicity of tests that power enables. When cumulative power drops below a threshold, natural gating suffices and nominal alpha is used. The procedure supports both constant and variable branching factors.

Interface changes

  • The alphafn interface used by find_blocks() now passes a depth parameter (integer vector of tree depths, 1 = root) to alpha adjustment functions. This enables alpha strategies that depend on tree structure rather than treating p-values as a flat stream.

  • alpha_investing(), alpha_saffron(), and alpha_addis() now accept a depth argument for interface compatibility. They do not use it; their behavior is unchanged.

manytestsr 0.0.3.0000

  • Initial tracked version with find_blocks(), splitting functions (splitCluster, splitEqualApprox, splitLOO, splitSpecifiedFactor, splitSpecifiedFactorMulti), p-value functions (pOneway, pWilcox, pIndepDist, pCombCauchyDist, pTestTwice), online FDR alpha adjustment (alpha_investing, alpha_saffron, alpha_addis), local p-value adjustment (local_hommel_all_ps, local_simes, local_bh_all_ps), and reporting/visualization functions.