Dose Response Data Analysis using the 4 Parameter Logistic (4pl) Model
Overview
Models the relationship between dose levels and responses in a pharmacological experiment using the 4 Parameter Logistic model. Traditional packages on dose-response modelling such as 'drc' and 'nplr' often draw errors due to convergence failure especially when data have outliers or non-logistic shapes. This package provides robust estimation methods that are less affected by outliers and other initialization methods that work well for data lacking logistic shapes. We provide the bounds on the parameters of the 4PL model that prevent parameter estimates from diverging or converging to zero and base their justification in a statistical principle. These methods are used as remedies to convergence failure problems. Gadagkar, S. R. and Call, G. B. (2015) doi:10.1016/j.vascn.2014.08.006 Ritz, C. and Baty, F. and Streibig, J. C. and Gerhard, D. (2015) doi:10.1371/journal.pone.0146021.
Main Reason for Major Update
- A second derivative used in the Hessian Matrix (with respects to
(theta_3)^2) has been updated to the correct value. Confidence intervals fortheta_3should be more accurate as a result of the correction. See - dr4pl's internals have changed to help improve clarity and consistency of the code. With this change, the API associated with the
dr4plcall and its arguments have changed slightly. Many dr4pl internal functions now dispatch on this newdr4pl_paramclass.
General Changes
- The dr4pl object has replaced 'parameters' with a new S3 object
dr4pl_param. This class's main objective is to track of when the object is reparameterized internally. There is now a constructor functiondr4pl_thetathat will allow users to specify if their parameters are in the linear space or the log10 space when passing toinit.parmargument. dr4pl_paramobjects are converted to log10 space prior to optimization. To be consistent with previous version of dr4pl, reporting statistics will be on the reparameterized theta by default and will forgo any exponentiation to linear space. This is to increase clarity of which parameterization statistics like confidence intervals and standard errors refer to.- The following functions are new S3 generics:
augmentcalculateresiduals- Many S3 methods that dispatch on a
dr4plobject now have an optionalparmargument. This can allow the user to specify a newdr4pl_thetaobject to evaluate in place of the theta parameter on the object. This applies to the following S3 generics: calculate
Show all changes in 2.0.0Hide the rest of the changes in 2.0.0
residualssummaryvcovconfint.dr4plandvcov.dr4pl'sparmargument now works as intended.- You are no longer required to specify all 4 parameters when passing to arguments
upperlandlowerl. Specifying a named numeric vector in the form oflowerl = c(theta_2=.5, theta_4 = 0)will suffice. - More informative error messages have been included if initial parameter estimates are outside the specified constraints.
From NEWS.md in the release
Install
Health
NOTERd filesr-oldrel-macos-arm64, r-oldrel-macos-x86_64
checkRd: (-1) confint.dr4pl.Rd:49: Escaped LaTeX specials: \& checkRd: (-1) gof-dr4pl.Rd:40: Escaped LaTeX specials: \& checkRd: (-1) vcov.dr4pl.Rd:61: Escaped LaTeX specials: \&
- NOTE11 OK, 2 NOTENow
- NOTE8 OK, 6 NOTE2026-03-10
Documentation
- Help pages
- 39 (1 internal)includes a package overview page
- Examples that run
- 96%26 run in a plain check · 1 never run
- Exported functions with examples
- 20%
- Documented parameters
- 100%
- Return-value docs
- 90%
- Help pages citing references
- 15% with a bibliography file
- dr4pl derivatives HTML
- dr4pl usage examples HTML
Downloads
Repository
- PRs merged (all time)
- 94%
- Median days to close, 50 most recently updated closed issues
- GitHub only
- Median days to close, 50 most recently updated closed PRs
- GitHub only
Repository bitbucket.org/dittmerlab/dr4pl is linked, but repository-practices checks have not run for it yet. Checks are GitHub-only for now.
Dependencies
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- RR 4.5.0 released · 2025-04-11
- RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- RR 4.2.0 released · 2022-04-22
- 2.0.0Latest2021-08-17 · current release · diff ↗ ·
removed 1 export
gof.dr4pladded 6 exports
LogToParm, ParmToLog, augment, calculate, dr4pl_theta, gof - RR 4.1.0 released · 2021-05-18
- RR 4.0.0 released · 2020-04-24
- 1.1.112019-10-07 · diff ↗
- RR 3.6.0 released · 2019-04-26
- 1.1.82019-02-24 · diff ↗
- unarchivedReturned to CRAN2019-01-28
- 1.1.7.52019-01-28 · diff ↗
- archivedRemoved from CRAN2019-01-24check issues were not corrected in time
- 1.1.7.42018-12-03 · diff ↗
- 1.1.7.12018-09-14 · diff ↗
Package metadata
- First published
- 2017-10-22
- Total releases
- 9 / 9 yrs
- License
- GPL (>= 2) OSI
- Minimum R
- ≥ 3.1.0
- Bundled data
- 12 KB / 17 files
- Download size
- 501 KB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("dr4pl")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-23, which the citation names so these numbers can be found later. More on citing and the projects behind them.