0

I have a dataset with conccentrations, mycelium growth and two populations. I fitted LL.4 model (checked with mselect)

##LL.4 model of the data
FD7_LL4<-drm(Growth ~ Concentration, Treatment, data=FD7,
fct = LL.4(),
pmodels=list(~Treatment-1, ~Treatment-1, ~Treatment-1, ~Treatment-1))

and got a nice fit (Dose-response curves of two treatments using LL.4 model).

I got the ED50 estimates

ED(FD7_LL4, 50, interval="delta")
##results
Estimated effective doses
Estimate Std. Error Lower Upper
e:R:50 2.619512 0.085679 2.451342 2.787682
e:S:50 5.456838 0.256763 4.952865 5.960810

The problem is, that treatment "S" never reaches 0, and therefore also ED50 calculates from ymax-ymin. I would need to calculate it between ymax-0, because i want to have the value, when mycelium growth is inhibited at 50%. From experimental data the ED50 of S should be around 10, which I get with LL.3 model (Dose-response curves of the two treatments using LL.3 model), but as you can see it does not fit so well... Do you think I can still use LL.3 model as it is more relevant from biological point of view? the ED50 values of LL.3 model are:

Estimated effective doses
Estimate Std. Error Lower Upper
e:R:50 2.704085 0.083539 2.540116 2.868054
e:S:50 10.487770 0.693789 9.126012 11.849529

which correspond to my experimental data. Thanks a lot for your help.

1 Answers1

1

ED comes with a type argument, set that to absolute (default is relative).

library(drc)
dat <- data.frame(
  Conc = rep(c(0, 1, 3, 10, 30, 100), 2),
  Growth = c(4, 3.8, 2, 0.2, 0.1, 0.1, 4, 4, 3.5, 2, 1.5, 1.2),
  Trt = gl(2, 6, labels = c('R', 'S'))
)

fit <- drm(Growth ~ Conc, Trt, data = dat, fct = LL.4(), 
  pmodels=list(~Trt-1, ~Trt-1, ~Trt-1, ~Trt-1)
)

plot(fit, col=T)

enter image description here

Looks close enough to what you had. Now, I don't know what you want to take as 50% growth inhibition, I suspect you think 2 is the right answer. If that is the case:

ED(fit, 2, interval = 'delta', type = 'absolute')
#       Estimate Std. Error Lower Upper
# e:R:2     3.00       0.10  2.72  3.27
# e:S:2    10.31       1.02  7.49 13.13

Alternatively, as you appear content with the fit for R, you might want to estimate growth corresponding to ED50 of R and use that instead of 2.

# ED50 of R
ed50r <- ED(fit, 50, interval = 'delta')[1]  # 2.95
# growth corresponding to ED50 of R
growth50r <- predict(fit, newdata = data.frame(Conc = ed50r)) # 2.04

ED(fit, growth50r, interval = 'delta', type = 'absolute')
#          Estimate Std. Error Lower Upper
# e:R:2.04     2.95       0.10  2.68  3.22
# e:S:2.04     9.93       0.95  7.29 12.57
Vallo Varik
  • 137
  • 1
  • 10