bpci

Binomial proportion confidence intervals.

Crates.io Last commit GitHub Workflow Status License: MIT

Samples

By size and number of successes

```rust use bpci::NSuccessesSample;

fn main() { // 10 successes out of 20 trials: let sample = NSuccessesSample::new(20, 10).unwrap(); } ```

By size and proportion

```rust use bpci::ProportionSample;

fn main() { // 20 trials with 0.5 success rate: let sample = ProportionSample::new(20, 0.5).unwrap(); } ```

Intervals

Wilson score interval

```rust use bpci::*; use approx::assertrelativeeq;

fn main() { let sample = ProportionSample::new(100, 0.25).unwrap(); let interval = sample.wilsonscore(1.960); // 95% assertrelativeeq!(interval.lower(), 0.1754509400372426); assertrelative_eq!(interval.upper(), 0.3430464637007583); } ```

Wilson score interval with continuity correction

```rust use bpci::*; use approx::assertrelativeeq;

fn main() { let sample = ProportionSample::new(100, 0.25).unwrap(); let interval = sample.wilsonscorewithcc(1.960); // 95% assertrelativeeq!(interval.lower(), 0.17117438961361867); assertrelative_eq!(interval.upper(), 0.34838596518606424); } ```

Agresti–Coull interval

```rust use bpci::*; use approx::assertrelativeeq;

fn main() { let sample = ProportionSample::new(40, 0.25).unwrap(); let interval = sample.agresticoull(1.960); // 95% assertrelativeeq!(interval.mean, 0.2719061348125981); assertrelative_eq!(interval.margin, 0.1317091851034039); } ```

```rust use bpci::*; use approx::assertrelativeeq;

fn main() { let sample = NSuccessesSample::new(40, 10).unwrap(); let interval = sample.agresticoull(1.960); // 95% assertrelativeeq!(interval.mean, 0.2719061348125981); assertrelative_eq!(interval.margin, 0.1317091851034039); } ```

Normal approximation interval or Wald interval

```rust use bpci::*; use approx::assertrelativeeq;

fn main() { let sample = ProportionSample::new(100, 0.3).unwrap(); let interval = sample.wald(1.960); // 95% assertrelativeeq!(interval.lower(), 0.2101815163788655); assertrelativeeq!(interval.upper(), 0.38981848362113447); } ```