MyNixOS website logo
Description

An Automated Way to Estimate EC50 for Stratified Datasets.

Estimates effective concentrations that reduce growth by 50 percent (EC50) in multi-isolate and stratified dose-response experiments. The package wraps model fitting from drc, returns data-frame outputs, and provides helper functions for data checks, model selection, fitted-curve plotting, prediction, diagnostics, and reporting. Information about drc is available in Ritz C, Baty F, Streibig JC, Gerhard D (2015) <doi:10.1371/journal.pone.0146021>.

CRAN Downloads Total downloads

ec50estimator: EC50 workflows for multi-isolate dose-response experiments

ec50estimator helps scientists estimate EC50 from grouped dose-response datasets. It wraps the modelling engine from drc in a workflow that is easier to use for experiments with many isolates, fields, fungicides, years, or other strata.

The package is built around one practical sequence:

  1. Check whether the dose-response data are fit-ready.
  2. Fit one model or compare several candidate models.
  3. Inspect fit quality and failed fits.
  4. Plot fitted curves with ggplot2.
  5. Extract predictions, curve coordinates, and manuscript-ready EC50 tables.

Installation

Install the stable release from CRAN.

install.packages("ec50estimator")

Install the development version from GitHub.

pak::pak("AlvesKS/ec50estimator")

Quick Start

library(ec50estimator)
library(drc)

data(multi_isolate)

example_data <- subset(
  multi_isolate,
  isolate %in% 1:5 & fungicida == "Fungicide A"
)

check_ec50_data(
  example_data,
  response = "growth",
  dose = "dose",
  isolate = "isolate",
  strata = "field"
)

fit <- ec50_multimodel(
  growth ~ dose,
  data = example_data,
  isolate_col = "isolate",
  strata_col = "field",
  fct = list(drc::LL.3(), drc::LL.4(), drc::W2.3()),
  interval = "delta"
)

best_model(fit)
plot_EC50_curves(fit, models = "best")
report_ec50(fit, models = "best")

fit is still a data frame, so existing workflows that call head(fit) or write the estimates to a file continue to work. It also stores the fitted drc models and metadata needed by helper functions:

curve_data(fit)
fitted_models(fit)
ec50_metadata(fit)
predict_ec50(fit, dose = c(0.001, 0.01, 0.1), models = "best")
plot_residuals(fit, models = "best")

See the pkgdown site for the recommended workflow: https://alvesks.github.io/ec50estimator/.

Metadata

Version

1.0.0

License

Unknown

Platforms (79)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    uefi
    wasip1
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-uefi
  • aarch64-windows
  • aarch64_be-none
  • arc-linux
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-linux
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • sh4-linux
  • vc4-none
  • wasm32-wasip1
  • wasm64-wasip1
  • x86_64-cygwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-uefi
  • x86_64-windows