0

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:

  1. 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
  2. Follow drm with a call to drc.boxcox. This seems to be more general and could work.
  3. 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:

enter image description here

i.n.n.m
  • 2,936
  • 7
  • 27
  • 51
Good Eats
  • 333
  • 3
  • 14
  • I am still not sure what your actual question and problem are. What kind of answer are you looking for? – Cleb Aug 08 '17 at 21:52
  • Hi Cleb. Which of the three methods is the correct drc way to handle heteroscedastic data where the variance scales in a manner similar to that shown in the image? All my reading suggests that the varPower method is the correct way, but for some reason the varPower method has been commented out of the current drc package code. Fitting dose response curves to routine biological data is such a common activity I assumed that there is a standard accepted way to use drc to do this. – Good Eats Aug 08 '17 at 22:51
  • You might have better chances to find an answer [here](https://stats.stackexchange.com/), I think. – Cleb Aug 08 '17 at 22:57
  • 2
    Thanks for the suggestion. In the past when I've posted questions regarding how to use R packages to Cross Validated, I have had my question redirected here to Stack Overflow. This type of question seems to be a grey area that falls between the cracks of both sites. – Good Eats Aug 08 '17 at 23:05

1 Answers1

0

I found the answer to this question in this paper by the authors of the drc package. In the paper they comment:

Weights may be used for addressing variance heterogeneity in the response. However, the transform-both-sides approach should be preferred over using often very imprecisely determined weights

The "transform-both-sides" approach refers to using the drc.boxcox function (code in the original question).

Further advice was provided in a personal communication with one of the authors of the drc package. He advised that presently, the medrc R package is better suited for dose response analysis in R.

Good Eats
  • 333
  • 3
  • 14