EDI: Experimental Design and Inference EDI hex logo

CRAN R-universe version R-CMD-check R coverage License: GPL v3 DOI

EDI (Experimental Design and Inference) marries experimental designs (fixed and sequential) with inference procedures (exact, asymptotic, and distribution-free) tailored to each design and response type: continuous, incidence, count, proportion, survival with left/right censoring, and ordinal. Designs, inference, and Monte Carlo simulation are exposed as R6 classes; the core estimation and variance-computing kernels are written in C++ (Eigen + LBFGS++) for speed.

Installation

Requires R >= 3.5.0. The quickest route is prebuilt binaries (Linux, macOS, and Windows, no compiler toolchain needed) from Adam Kapelner’s R-universe:

install.packages(
  "EDI",
  repos = c(
    kapelner = "https://kapelner.r-universe.dev",
    CRAN = "https://cloud.r-project.org"
  )
)

Not on CRAN yet. A plain install.packages("EDI") fails today — that does not mean the package doesn’t exist; use the R-universe call above. EDI has been submitted to CRAN and plain install.packages("EDI") will work once accepted.

Or install the development version straight from GitHub without cloning (requires a C++ compiler toolchain for R packages, e.g. Rtools on Windows, Xcode command line tools on macOS, or r-base-dev on Debian/Ubuntu — this package lives in the R/EDI subdirectory of the repository):

remotes::install_github("kapelner/EDI", subdir = "R/EDI")

Or from a local clone:

# from the repository root
install.packages("R/EDI", repos = NULL, type = "source")

Getting started

library(EDI)
vignette("reproducibility", package = "EDI")      # RNG/seed conventions across designs, bootstrap, and simulation
vignette("extending-edi", package = "EDI")        # writing your own Design/Inference R6 subclasses
vignette("backend-contracts", package = "EDI")    # how the C++ core is shared between the R (Rcpp) and Python (pybind11) bindings
vignette("notation-glossary", package = "EDI")    # symbols/naming conventions shared across Design*/Inference* classes and docs
vignette("validation-evidence", package = "EDI")  # index into the test suite showing each model family computes what it claims

See the repository README for worked examples (fixed and sequential designs, the inference suite, design bakeoffs via SimulationFramework), local performance tuning, and the companion Python package edi_kernels.

mirror server hosted at Truenetwork, Russian Federation.