I am using the drc
package in R
to fit dose response curves (4-param logistic: LL.4) for biological assays. The data I collect is typically heteroscedastic (example image below). I am looking for ways to account for this when calling drm. I have found three possibilities that seem promising:
- Use the type="Poisson" parameter to drm. However, over- and under-dispersion are probable for many assays so this isn't likely to be a general solution
- Follow drm with a call to drc.boxcox. This seems to be more general and could work.
- Use the "varPower" tranform that used to be implemented in drc.multdrc and in drc.drm before it was commented out (search for "varPower" in the drm source). I could un-comment those sections to restore the varPower functionality.
My questions are, what is the most accepted way to handle this? Also, does anyone know why varPower
variance handling was removed from the drc
package?
Example code:
# Naive method
a <- drm(y~x,data=subs, fct=LL.4(),control=ctl, start=params)
#Poisson Method
a <- drm(y~x,data=subs, fct=LL.4(),control=ctl, start=params, type="Poisson")
#BOXCOX method
a <- drm(y~x,data=subs, fct=LL.4(),control=ctl, start=params)
a2 <- boxcox(a)
Example Data: