Package: EDI Type: Package Title: Experimental Design and Inference Version: 1.0.4 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. EDI replaces the 'SeqExpMatch' package. 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_resampling_core.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_procedure_regime.R' 'inference_small_sample_doc.R' 'inference_validity_n_eff.R' 'inference_validity_lookup.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-11-13 06:06:38 UTC RemoteUrl: https://github.com/kapelner/EDI RemoteRef: HEAD RemoteSha: 9ff13ff64a02317f3843382d24edd058d8402de5 RemoteSubdir: R/EDI NeedsCompilation: yes Packaged: 2026-11-13 06:37:11 UTC; root Author: Adam Kapelner [aut, cre, cph] (ORCID: ) Maintainer: Adam Kapelner