The R package LW1949 automates the steps taken in Litchfield and Wilcoxon’s (1949) manual approach to evaluating dose-effect experiments. Letting the computer do the work saves time and yields the best fit possible using the Litchfield Wilcoxon approach (by minimizing the chi-squared statistic). You can also try a brief demonstration of LW1949 in this web app.

Install

Install the LW1949 package following these instructions. Then load the package.

library(LW1949)

Prepare data

Use the dataprep function to create a data frame with the results of a dose-effect experiment. Provide information on three key input variables,

conc <- c(0.0625, 0.125, 0.25, 0.5, 1, 2, 3)
numtested <- rep(8, 7)
numaffected <- c(1, 4, 4, 7, 8, 8, 8)
mydat <- dataprep(dose=conc, ntot=numtested, nfx=numaffected)

The dataprep function puts the input variables into a data frame along with several new variables,

mydat
##     dose ntot nfx rec   pfx  log10dose    bitpfx fxcateg LWkeep
## 1 0.0625    8   1   1 0.125 -1.2041200 -1.150349      50   TRUE
## 2 0.1250    8   4   2 0.500 -0.9030900  0.000000      50   TRUE
## 3 0.2500    8   4   3 0.500 -0.6020600  0.000000      50   TRUE
## 4 0.5000    8   7   4 0.875 -0.3010300  1.150349      50   TRUE
## 5 1.0000    8   8   5 1.000  0.0000000       Inf     100   TRUE
## 6 2.0000    8   8   6 1.000  0.3010300       Inf     100   TRUE
## 7 3.0000    8   8   7 1.000  0.4771213       Inf     100  FALSE

Fit model

Use the fitLWauto and LWestimate functions to fit a dose-effect relation following Litchfield and Wilcoxon’s (1949) method.

intslope <- fitLWauto(mydat)
fLW <- LWestimate(intslope, mydat)

The output from fitLWauto is a numeric vector of length two, the estimated intercept and slope of the best fitting line on the log10-probit scale..

intslope
## Intercept     Slope 
##  1.726888  2.280443

The output from LWestimate is a list with three elements,

fLW
## $chi
## $chi$chi
##   chistat        df      pval 
## 1.0168540 4.0000000 0.9072297 
## 
## $chi$contrib
##            exp   obscorr    contrib
## [1,] 0.1540923 0.1250000 0.04394056
## [2,] 0.3697344 0.5000000 0.36716385
## [3,] 0.6383023 0.5000000 0.42306128
## [4,] 0.8509244 0.8750000 0.03110550
## [5,] 0.9579061 0.9861477 0.15158280
## [6,] 0.9920971 0.9920971 0.00000000
## 
## 
## $params
## Intercept     Slope 
##  1.726888  2.280443 
## 
## $LWest
##        ED50       lower       upper     npartfx        ED16        ED84 
##  0.17487995  0.08724768  0.35053078  4.00000000  0.06407062  0.47733260 
##           S      lowerS      upperS      Nprime       fED50          fS 
##  2.72948727  1.40133732  5.31642211 16.00000000  2.00440807  1.94777319

Predict

Use the predlinear function and the fitted Litchfield and Wilcoxon model to estimate the effective doses for specified percent effects (with 95% confidence limits).

pctaffected <- c(25, 50, 99.9)
predlinear(pctaffected, fLW)
##       pct         ED      lower      upper
## [1,] 25.0 0.08850516 0.03866679  0.2025812
## [2,] 50.0 0.17487995 0.08724768  0.3505308
## [3,] 99.9 3.96133867 0.45031166 34.8474301

Plot

Use the plotDELP and plotDE functions to plot the raw data on the log10-probit and arithmetics scales. Observations with no or 100% affected are plotted using white filled circles (at 0.1 and 99.9% respectively in the log10-probit plot).

Use the predLinesLP and predLines functions to add the L-W predicted relations to both plots, with 95% horizontal confidence intervals for the predicted dose to elicit a given percent affected.

plotDELP(mydat)
predLinesLP(fLW)

plotDE(mydat)
predLines(fLW)

References

Litchfield, JT Jr. and F Wilcoxon. 1949. A simplified method of evaluating dose-effect experiments. Journal of Pharmacology and Experimental Therapeutics 96(2):99-113.