Vincent: Here is a simple solution using Prof. Bates' non-linear least squares algorithm:
Best, Ravi. > Phytopath <- data.frame(x=c(0, 0.03, 0.1), y=c(28, 21, 11)) > Phyto.nls <- nls(y ~ Ymax/(1 + x/x50),data=Phytopath,start=list (Ymax=20.0,x50=0.01),trace=T) 404.3058 : 20.00 0.01 15.76932 : 27.96313636 0.04960484 2.043625 : 28.2145584 0.0694645 1.851401 : 28.33886844 0.07198951 1.851231 : 28.34892493 0.07185953 1.851230 : 28.34843670 0.07186804 1.851230 : 28.3484688 0.0718675 > summary(Phyto.nls) Formula: y ~ Ymax/(1 + x/x50) Parameters: Estimate Std. Error t value Pr(>|t|) Ymax 28.34847 1.31522 21.554 0.0295 * x50 0.07187 0.01348 5.332 0.1180 --- Signif. codes: 0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 Residual standard error: 1.361 on 1 degrees of freedom Correlation of Parameter Estimates: Ymax x50 -0.6001 ----- Original Message ----- From: Vincent Philion <[EMAIL PROTECTED]> Date: Friday, July 25, 2003 9:25 am Subject: Re: [R] inverse prediction and Poisson regression > Hi, ... and good morning! > > ;-) > > On 2003-07-25 08:43:35 -0400 Spencer Graves > <[EMAIL PROTECTED]> wrote: > > > The Poisson assumption means that Y is a number of > independent events from > > a theoretically infinite population occurring in a specific time > or place. > > The function "glm" with 'family="poisson"' with the default link > = "log" > > assumes that the logarithm of the mean of Y is a linear model in > the > > explanatory variable. > > OK, I think my data can fit that description. > > > > > How is Y measured? > > Y is the number of line intercepts which encounters mycelial > growth. i/e if mycelia intercepts the line twice, 2 is reported. > This follows poisson. > > If it the number out N, with N approximately 500 (and you know N), > > then you have a logistic regression situation. > > No, 500 spores can grow, but there is no "real" limit on the > amount of growth possible, and so no limit on the number of > intercepts. So this is why I adopted Poisson, not knowing how > complicated my life would become!!! > ;-) > > In that case, section 7.2 in > > Venables and Ripley (2002) should do what you want. If Y is a > percentage > > increase > > ... But you may be right, that I'm making this just too > complicated and that I should simply look at percentage... Any > comments on that? > > > > When dose = 0, log(dose) = (-Inf). Since 0 is a legitimate > dose, > > log(dose) is not acceptable in a model like this. You need a > model like > > Peter suggested. > > OK, I see I will need stronger coffee to tackle this, but I will > read this in depth today. > > Depending on you purpose, log(dose+0.015) might be > > sufficiently close to a model like what Peter suggested to > answer your > > question. If not, perhaps this solution will help you find a > better > > solution. > > In other words, "cheat" and model Y_0 with a "small" value = > log(0.015) ? How would this affect the LD50 value calculated and > the confidence intervals? I guess I could try several methods, but > how would I go about choosing the right one? Criteria? > > > I previously was able to get dose.p to work in R, and I just > now was able > > to compute from its output. The following worked in both S-Plus > 6.1 and R > > 1.7.1: > > > >> LD50P100p <- print(LD50P100) > > Dose SE > > p = 14: -2.451018 0.04858572 > >> exp(LD50P100p[1,1]+c(-2,0,2)*LD50P100p[1,2])-0.015 > > [1] 0.06322317 0.07120579 0.08000303 > > OK, I will need to try this (later today). I don't see "dose.p" in > this? > again, many thanks, > > -- > Vincent Philion, M.Sc. agr. > Phytopathologiste > Institut de Recherche et de Développement en Agroenvironnement (IRDA) > 3300 Sicotte, St-Hyacinthe > Québec > J2S 7B8 > > téléphone: 450-778-6522 poste 233 > courriel: [EMAIL PROTECTED] > Site internet : www.irda.qc.ca > > ______________________________________________ > [EMAIL PROTECTED] mailing list > https://www.stat.math.ethz.ch/mailman/listinfo/r-help > ______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help