Yes, thanks that's very useful Apart from checking the fit with nls() as you suggested, I've also used Prism, which gave the following results
Equation 1 Best-fit values BOTTOM 10.96 TOP 106.4 LOGEC50 -5.897 HILLSLOPE 0.9501 EC50 1.2670e-006 Std. Error BOTTOM 2.196 TOP 9.337 LOGEC50 0.1439 HILLSLOPE 0.2270 95% Confidence Intervals BOTTOM 6.301 to 15.61 TOP 86.62 to 126.2 LOGEC50 -6.202 to -5.592 HILLSLOPE 0.4689 to 1.431 EC50 6.2750e-007 to 2.5560e-006 Goodness of Fit Degrees of Freedom 16 R² 0.9622 Absolute Sum of Squares 787.5 Sy.x 7.015 Data Number of X values 20 Number of Y replicates 1 Total number of values 20 Number of missing values 0 In other words: also in line with the drc 1.6-3 and nls() results As for the scaling: yes this is useful because I can't predict whether concentrations are in molar, micromolar,..., right now I indeed scaled dose-values "manually", it's better/ more robust when the drm-function takes care of that I suppose this also means I don't have to do the log transformation anymore? Thanks (both of you) for your swift feedback Hans -----Original Message----- From: Christian Ritz [mailto:r...@life.ku.dk] Sent: vrijdag 22 mei 2009 11:30 To: Hans Vermeiren Cc: r-help@r-project.org; marc_schwa...@me.com Subject: Re: [R] drc results differ for different versions Hi Hans, I hope I can resolve your problems below (Marc, thank you very much for cc'ing me on your initial response!). Have a look at the following R lines: ## Fitting the model using drm() (from the latest version) m1<- drm(response ~ dose, data = d, fct = LL.4()) summary(m1) plot(m1) ## Checking the fit by using nls() ## (we have very good guesses for the parameter estimates) m2 <- nls(response ~ c + (d - c)/(1 + (dose/e)^b), data=d, start=list(b=-0.95, c=10, d=106, e=1.2745e-06)) summary(m2) The standard errors agree quite well. The minor discrepancies between to two fits are attributable to different numerical approximations of the variance-covariance matrix being used in drm() and nls(). So I would use the latest version of 'drc', especially for datasets with really small doses. One recent change to drm() was to incorporate several layers of scaling prior to estimation (as well as subsequent back scaling after estimation): 1) scaling of parameters with the same scale as the x axis 2) scaling of parameters with the same scale as the y axis 3) scaling of parameters in optim() The effect of scaling is to temporarily "convert" the dataset (and the model) to scales that are more convenient for the estimation procedure. Any feedback on this would be much appreciated. Therefore it should also not be necessary to manually do any scaling prior to using drm() (like what you did). Compare, for instance, your specification of drm() to mine above. Is this explanation useful?! Christian -- This e-mail and its attachment(s) (if any) may contain confidential and/or proprietary information and is intended for its addressee(s) only. Any unauthorized use of the information contained herein (including, but not limited to, alteration, reproduction, communication, distribution or any other form of dissemination) is strictly prohibited. If you are not the intended addressee, please notify the orginator promptly and delete this e-mail and its attachment(s) (if any) subsequently. Galapagos nor any of its affiliates shall be liable for direct, special, indirect or consequential damages arising from alteration of the contents of this message (by a third party) or as a result of a virus being passed on. ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.