Package: EDI
Type: Package
Title: Experimental Design and Inference
Version: 1.0.3
Authors@R: c(person(given = "Adam",
                  family = "Kapelner",
                  role = c("aut", "cre", "cph"),
                  email = "adam.kapelner@mail.huji.ac.il",
                  comment = c(ORCID = "0000-0001-5985-6792")))
Description: Implements a comprehensive suite of experimental designs,
        both fixed (e.g., block, stratified, matched-pair, cluster,
        factorial, and mixed-integer-programming-based optimal designs)
        and sequential (including matching-on-the-fly designs, biased
        coin designs, and covariate-adaptive urn designs that assign
        treatment one subject at a time while maintaining covariate
        balance), for continuous, incidence, count, proportion,
        survival, and ordinal response types. For each design and
        response type combination, provides the corresponding inference
        procedures, including exact, asymptotic, distribution-free, and
        resampling-based (bootstrap, jackknife, and randomization)
        methods, so that estimation and testing are always matched to
        how the data were generated. An 'InferenceSuite' facility runs
        all applicable inference procedures for a given design and
        response type at once and reports a single Cauchy-combined
        p-value summarizing their evidence. A built-in simulation
        framework supports power analysis and operating-characteristic
        studies across designs, response types, and inference
        procedures, with optional parallelization via 'mirai'. Missing
        covariate data is handled automatically via built-in
        imputation. Core numerical routines are implemented in C++ via
        'Rcpp' for speed on large designs and simulation studies.
        Machine-specific tuning for optimization is included.
License: GPL-3
Encoding: UTF-8
Language: en-US
Depends: R (>= 3.5.0)
LinkingTo: Rcpp, RcppEigen, RcppNumerical
Imports: R6, checkmate, Rcpp, data.table, survival, missRanger,
        missForest, numDeriv, digest, methods, MASS, RhpcBLASctl,
        randomizr
Suggests: anticlust, blockTools, clinfun, coin, dplyr, mirai, aftgee,
        betareg (>= 3.2-6), copula, doParallel, ggplot2, fixest,
        gamlss.dist, geepack, glmmTMB, glmnet, icenReg, interval,
        jsonlite, knitr, lme4, multgee, nbpMatching, nlme, nnet,
        optmatch, ordinal, pscl, qpdf, quantreg, R.utils,
        RcppXPtrUtils, Rfit, rmarkdown, testthat, VGAM, ompr, ompr.roi,
        ROI.plugin.glpk, sandwich, withr
VignetteBuilder: knitr
Collate: 'design_abstract.R' 'design_blocking_abstract.R'
        'design_matching_abstract.R' 'design_fixed_abstract.R'
        'design_component_registry.R' 'design_class_factory.R'
        'design_fixed_greedy.R' 'helper_optimal_shared.R'
        'helper_optimal_milp_solvers.R' 'helper_user_compiled_fn.R'
        'helper_optimal_annealing.R' 'design_fixed_greedy_d_optimal.R'
        'design_fixed_bernoulli.R' 'design_fixed_binary_match.R'
        'design_fixed_blocked_cluster.R' 'design_fixed_blocking.R'
        'design_fixed_cluster.R' 'design_fixed_factorial.R'
        'design_fixed_ibcrd.R'
        'design_fixed_matching_greedy_pair_switching.R'
        'design_fixed_optimal.R' 'design_fixed_optimal_blocks.R'
        'design_fixed_rerandomization.R' 'design_observational.R'
        'design_observational_blocks.R'
        'design_observational_matching.R'
        'design_seq_one_by_one_abstract.R' 'design_custom_extensions.R'
        'design_seq_one_by_one_atkinson.R'
        'design_seq_one_by_one_bernoulli.R'
        'design_seq_one_by_one_efron.R' 'design_seq_one_by_one_ibcrd.R'
        'design_seq_one_by_one_KK14.R'
        'design_seq_one_by_one_KK21_stepwise.R'
        'design_seq_one_by_one_KK21.R'
        'design_seq_one_by_one_pocock_simon.R'
        'design_seq_one_by_one_random_block_size.R'
        'design_seq_one_by_one_spbr.R' 'design_seq_one_by_one_urn.R'
        'design_class_registry.R' 'EDI.R' 'helper_glm_fit.R'
        'globals.R' 'comprehensive_slow_paths.R'
        'helper_additional_asserts.R' 'contracts_mixins.R'
        'helper_robust_sandwich.R'
        'inference_all_abstract_mle_or_KM_summary_table.R'
        'inference_ext_ci_inversion.R'
        'inference_ext_information_matrix.R'
        'inference_ext_likelihood_test_memoization.R'
        'inference_mixin_off_optimum_likelihood_eval.R'
        'inference_all_abstract_asymp_lik.R'
        'inference_all_abstract_marginal_estimand.R'
        'inference_ext_bartlett_approx.R'
        'inference_mixin_cordeiro_ferrari_approx.R'
        'inference_mixin_lemonte_gradient_approx.R'
        'inference_mixin_kk_gee_shared.R'
        'inference_mixin_kk_glmm_shared.R'
        'helper_reused_worker_private_cache.R'
        'inference_mixin_kk_passthrough.R'
        'inference_mixin_kk_passthrough_compound.R'
        'helper_bootstrap_ci.R' 'contracts_resampling_draws.R'
        'inference_ext_bca_bootstrap_ci.R'
        'inference_ext_exchangeable_resampling_units.R'
        'inference_ext_minimum_volatility_selector.R'
        'inference_ext_m_out_of_n_bootstrap.R'
        'inference_ext_prw_subsampling.R'
        'inference_all_abstract_non_param_boot.R'
        'inference_all_abstract_rand_bootstrap.R'
        'inference_all_abstract_rand_bootstrap_ci.R'
        'inference_all_abstract_bayesian_bootstrap.R'
        'inference_all_abstract_jackknife.R'
        'inference_all_abstract_exact.R'
        'inference_all_abstract_asymp.R'
        'inference_ext_param_bootstrap_estimate.R'
        'inference_all_abstract_param_boot.R'
        'inference_all_abstract_asymp_lik_std_mod_cache.R'
        'inference_all_abstract_count_likelihood.R'
        'inference_ext_quantile_rand_ci.R'
        'inference_all_abstract_rand_ci.R'
        'inference_ext_sequential_mc_pval.R'
        'inference_all_abstract_rand.R' 'inference_all_abstract.R'
        'inference_all_abstract_KK_passthrough_compound.R'
        'inference_all_abstract_quantile_rand_ci.R'
        'inference_all_KK_mean_diff_IVWC.R'
        'inference_all_KK_quantile_regr_ivwc_abstract.R'
        'inference_all_KK_quantile_regr_one_lik_abstract.R'
        'inference_all_KK_wilcox_ivwc.R' 'inference_all_average_diff.R'
        'inference_all_simple_mean_diff_pooled_var.R'
        'inference_all_simple_wilcox.R'
        'inference_continuous_KK_bai_abstract.R'
        'inference_continuous_KK_glmm.R'
        'inference_continuous_KK_ols_ivwc.R'
        'inference_continuous_KK_ols_one_lik.R'
        'inference_continuous_KK_quantile_regr_ivwc.R'
        'inference_continuous_KK_quantile_regr_one_lik.R'
        'inference_continuous_KK_robust_regr_ivwc.R'
        'inference_continuous_KK_robust_regr_one_lik.R'
        'inference_continuous_KK14_bai.R'
        'inference_continuous_KK21_bai.R' 'inference_continuous_lin.R'
        'inference_continuous_ols.R'
        'inference_continuous_quantile_regr.R'
        'inference_continuous_robust_regr.R'
        'inference_count_composite_likelihood.R'
        'inference_count_KK_combined.R'
        'inference_count_KK_cond_poisson.R' 'inference_count_KK_gee.R'
        'inference_count_negbin.R' 'inference_count_poisson.R'
        'inference_count_quasipoisson.R'
        'inference_count_robust_poisson.R'
        'inference_count_zero_augmented_poisson_abstract.R'
        'inference_count_hurdle.R' 'inference_count_zero_inflated.R'
        'inference_custom_extensions.R' 'inference_rand_custom.R'
        'inference_helpers_zhang.R'
        'inference_incidence_binomial_identity.R'
        'inference_incidence_cmh.R'
        'inference_incidence_exact_binomial.R'
        'inference_incidence_exact_zhang.R'
        'inference_incidence_extended_robins.R' 'helper_gcomp.R'
        'helper_marginal_estimand.R'
        'inference_incidence_gcomp_abstract.R'
        'inference_incidence_gcomp.R'
        'inference_incidence_KK_cond_logit_glmm_abstract.R'
        'inference_incidence_KK_cond_logit_glmm.R'
        'inference_incidence_KK_cond_logit.R'
        'inference_incidence_KK_combined.R'
        'inference_incidence_KK_gcomp_abstract.R'
        'inference_incidence_KK_marginal_abstract.R'
        'inference_incidence_KK_marginal.R'
        'inference_incidence_KK_newcombe_ivwc_univ.R'
        'inference_incidence_log_binomial.R'
        'inference_incidence_logit.R'
        'inference_incidence_miettinen_nurminen_univ.R'
        'inference_incidence_modified_poisson.R'
        'inference_incidence_newcombe_univ.R'
        'inference_incidence_probit.R'
        'inference_incidence_risk_diff.R' 'inference_incid_wald.R'
        'inference_indicidence_exact_fisher.R'
        'inference_ordinal_adj_cat_logit.R'
        'inference_ordinal_cauchit.R' 'inference_ordinal_cloglog.R'
        'inference_ordinal_gcomp.R'
        'inference_ordinal_jonckheere_terpstra_test.R'
        'helper_ordinal_mixed_fit.R'
        'inference_ordinal_KK_clmm_abstract.R'
        'inference_ordinal_KK_combined.R'
        'inference_ordinal_KK_cond_adj_cat_logit.R'
        'inference_ordinal_KK_cond_logit_abstract.R'
        'inference_ordinal_ordered_probit.R'
        'inference_ordinal_paired_sign_test.R'
        'inference_ordinal_partial_proportional_odds.R'
        'inference_ordinal_proportional_odds.R'
        'inference_ordinal_ridit.R'
        'inference_ordinal_stereotype_logit.R'
        'inference_proportion_beta.R'
        'inference_proportion_fractional_logit.R'
        'inference_proportion_gcomp.R'
        'inference_proportion_KK_combined.R'
        'inference_proportion_KK_quantile_regr_ivwc.R'
        'inference_proportion_KK_quantile_regr_one_lik.R'
        'inference_proportion_quantile_regr.R'
        'inference_proportion_zero_one_inflated_beta.R'
        'inference_suite.R' 'inference_survival_coxph.R'
        'inference_survival_dep_cens_transform.R'
        'inference_survival_gehan_wilcox.R'
        'inference_survival_GLMM_weibull_frailty_loggamma.R'
        'inference_survival_KK_lwa_cox_ivwc_abstract.R'
        'inference_survival_KK_lwa_cox_one_lik_abstract.R'
        'inference_survival_KK_lwa_cox.R'
        'inference_survival_KK_rank_regr_ivwc_abstract.R'
        'inference_survival_KK_rank_regr.R'
        'inference_survival_KK_strat_cox.R'
        'inference_survival_GLMM_weibull_frailty_normal.R'
        'inference_survival_KK_weibull_marginal.R'
        'inference_survival_km_diff.R' 'inference_survival_log_rank.R'
        'inference_survival_rmst.R' 'inference_survival_strat_cox.R'
        'inference_survival_weibull.R' 'inference_class_registry.R'
        'helper_package_checks.R' 'helper_math.R'
        'helper_model_matrix.R' 'helper_response_asserts.R'
        'helper_robust_regression.R' 'helper_rcpp_doc_stubs.R'
        'helper_matching.R' 'helper_survival_fits.R' 'helper_zoib.R'
        'helper_inference_survival_turnbull.R' 'RcppExports.R'
        'simulations_framework.R' 'simulation_framework_report.R'
        'local_machine_tuning_synthetic_fixtures.R'
        'local_machine_tuning_harness.R' 'local_machine_tuning_axes.R'
        'local_machine_tuning_persistence.R'
        'local_machine_tuning_correctness.R' 'local_machine_tuning.R'
        'zzz.R'
URL: https://github.com/kapelner/EDI, https://kapelner.github.io/EDI/,
        https://pypi.org/project/edi-kernels/
BugReports: https://github.com/kapelner/EDI/issues
Config/roxygen2/version: 8.0.0.9000
Repository: https://kapelner.r-universe.dev
Date/Publication: 2026-10-18 14:21:17 UTC
RemoteUrl: https://github.com/kapelner/EDI
RemoteRef: HEAD
RemoteSha: c55198fef97b7ed24f1ea41e6556c7b88715b3ca
RemoteSubdir: R/EDI
NeedsCompilation: yes
Packaged: 2026-10-18 15:00:00 UTC; root
Author: Adam Kapelner [aut, cre, cph] (ORCID:
    <https://orcid.org/0000-0001-5985-6792>)
Maintainer: Adam Kapelner <adam.kapelner@mail.huji.ac.il>
