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, 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-15 19:53:59 UTC RemoteUrl: https://github.com/kapelner/EDI RemoteRef: HEAD RemoteSha: 430c19bcdb0702d998c79f9058c449449034134c RemoteSubdir: R/EDI NeedsCompilation: yes Packaged: 2026-10-15 23:29:15 UTC; root Author: Adam Kapelner [aut, cre, cph] (ORCID: ) Maintainer: Adam Kapelner