elda {statmod} | R Documentation |
Fit single-hit model to a dilution series using complementary log-log binomial regression.
elda(response, dose, tested=rep(1,length(response)), group=rep(1,length(response)), observed=FALSE, confidence=0.95, test.unit.slope=FALSE) limdil(response, dose, tested=rep(1,length(response)), group=rep(1,length(response)), observed=FALSE, confidence=0.95, test.unit.slope=FALSE)
response |
numeric of integer counts of positive cases, out of tested trials |
dose |
numeric vector of expected number of cells in assay |
tested |
numeric vector giving number of trials at each dose |
group |
vector or factor giving group to which the response belongs |
observed |
logical, is the actual number of cells observed? |
confidence |
numeric level for confidence interval |
test.unit.slope |
logical, should the adequacy of the single-hit model be tested? |
A binomial generalized linear model is fitted for each group with cloglog link and offset log(dose)
.
If observed=FALSE
, a classic Poisson single-hit model is assumed, and the Poisson frequency of the stem cells is the exp
of the intercept.
If observed=TRUE
, the values of dose
are treated as actual cell numbers rather than expected values.
This doesn't changed the generalized linear model fit but changes how the frequencies are extracted from the estimated model coefficient.
The confidence interval is a Wald confidence interval, unless all the responses are zero or at the maximum value, in which case Clopper-Pearson intervals are computed.
If group
takes several values, then separate confidence intervals are computed for each group.
In this case it also possible to test for non-equality in frequency between the groups.
elda
is the newer name for the limdil
function.
limdil
produces an object of class limdil
with the following components. There are print.limdil
and plot.limdil
methods for limdil objects.
CI |
numeric vector giving estimated frequency and lower and upper limits of Wald confidence interval of each group |
test.difference |
numeric vector giving chisquare likelihood ratio test statistic and p-value for testing the difference between groups |
test.unit.slope |
numeric vector giving chisquare likelihood ratio test statistic and p-value for testing the slope of the offset equal to one |
response |
numeric of integer counts of positive cases, out of tested trials |
tested |
numeric vector giving number of trials at each dose |
dose |
numeric vector of expected number of cells in assay |
group |
vector or factor giving group to which the response belongs |
num.group |
number of groups |
Yifang Hu and Gordon Smyth
Bonnefoix T, Bonnefoix P, Verdiel P, Sotto JJ. (1996). Fitting limiting dilution experiments with generalized linear models results in a test of the single-hit Poisson assumption. J Immunol Methods 194, 113-119.
Clopper, C. and Pearson, S. (1934). The use of confidence or fiducial limits illustrated in the case of the binomial. Biometrika 26, 404-413.
Shackleton, M., Vaillant, F., Simpson, K. J., Stingl, J., Smyth, G. K., Asselin-Labat, M.-L., Wu, L., Lindeman, G. J., and Visvader, J. E. (2006). Generation of a functional mammary gland from a single stem cell. Nature 439, 84-88. http://www.nature.com/nature/journal/v439/n7072/abs/nature04372.html
Hu, Y, and Smyth, GK (2008). limdil Software for Limiting Dilution Analysis. Technical Report, The Walter and Eliza Hall Institute of Medical Research. http://bioinf.wehi.edu.au/software/elda/elda_main.pdf
# When there is one group Dose <- c(50,100,200,400,800) Responses <- c(2,6,9,15,21) Tested <- c(24,24,24,24,24) out <- limdil(Responses,Dose,Tested,test.unit.slope=TRUE) out plot(out) # When there are four groups Dose <- c(30000,20000,4000,500,30000,20000,4000,500,30000,20000,4000,500,30000,20000,4000,500) Responses <- c(2,3,2,1,6,5,6,1,2,3,4,2,6,6,6,1) Tested <- c(6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6) Group <- c(1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4) limdil(Responses,Dose,Tested,Group,test.unit.slope=TRUE)