[R] nls problem

Rui Barradas ru|pb@rr@d@@ @end|ng |rom @@po@pt
Thu Apr 2 14:01:16 CEST 2020


Simpler:


FPG2 <- function(x, model){
   as.vector(cbind(1, x, x^2) %*% coef(model))
}


Hope this helps,

Rui Barradas

Às 12:56 de 02/04/20, Rui Barradas escreveu:
> Hello,
> 
> Sorry, disregard my previous e-mail.
> Instead of your FPG function try
> 
> 
> FPG <- function(pH, model) {
>    coef(model)[1] + coef(model)[2]*pH + coef(model)[3]*pH^2
> }
> 
> FPG(aedf$pH, m)
> fitted(m)
> 
> 
> Hope this helps,
> 
> Rui Barradas
> 
> Às 12:30 de 02/04/20, Rui Barradas escreveu:
>> Hello,
>>
>> Tip: in a formula, pH^2 = pH*pH is an interaction.
>>
>> pH^2 = pH*pH = pH + pH + pH:pH = pH
>>
>> Try I(pH^2)
>>
>> Hope this helps,
>>
>> Rui Barradas
>>
>> Às 12:07 de 02/04/20, Troels Ring escreveu:
>>> Dear friends - I'm on Win10 with R 6.3.1 and have a very simple 
>>> problem with
>>> nls which apparently gives a decent fit to the parable below, even 
>>> without
>>> starting values. But when I then think I know the meaning of the three
>>> parameters a, b, and d it goes very wrong. I guess I am again 
>>> overlooking
>>> something easy but cannot spot it.
>>>
>>> BW
>>> Troels Ring,
>>>
>>> Aalborg, Denmark
>>>
>>>
>>>
>>> aedf <- structure(list(Flux = c(-0.141256, -0.154709, -0.215247, 
>>> -0.302691,
>>>
>>>              -0.32287, -0.511211, -0.605381, -0.813901, -1.11659, 
>>> -1.76906
>>>
>>> ), pH = c(7.06273, 7.11182, 7.16182, 7.18818, 7.21455, 7.23818,
>>>
>>>            7.26273, 7.28455, 7.31182, 7.34364)), class = "data.frame",
>>> row.names = c(NA,
>>>
>>> -10L))
>>>
>>> m <- with(aedf,nls(Flux~a + b*pH + d*pH^2))
>>>
>>>
>>> with(aedf,plot(pH,Flux))
>>>
>>> with(aedf,lines(pH,fitted(m),lty=1,col="red",lwd=3))
>>>
>>>
>>> m
>>>
>>> # a        b        d
>>>
>>> # -1630.70   457.67   -32.11
>>>
>>>
>>> fitted(m)
>>>
>>> # 1] -0.22087053 -0.09989926 -0.13579690 -0.21936385 -0.34761742 
>>> -0.50048799
>>>
>>> # [7] -0.69729602 -0.90471194 -1.20692552 -1.61994657
>>>
>>>
>>> FPG <- function(pH) -1630.70 + 457.67*pH -32.11*pH^2
>>>
>>>
>>> FPG(aedf$pH)
>>>
>>> # [1] -0.016359649  0.107602395  0.074773375 -0.007166685 -0.133786467
>>>
>>> # [6] -0.285187665 -0.480463769 -0.686513537 -0.987013685 -1.398026917
>>>
>>>
>>> # So why aren't fitted(m) and FPG(aedf$pH) not closer ("equal")?
>>>
>>>
>>>
>>> This email has been scanned by BullGuard antivirus protection.
>>> For more info visit www.bullguard.com
>>> <http://www.bullguard.com/tracking.aspx?affiliate=bullguard&buyaffiliate=smt 
>>>
>>> p&url=/>
>>>
>>>     [[alternative HTML version deleted]]
>>>
>>> ______________________________________________
>>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>> 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.
>>>
>>
>> ______________________________________________
>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> 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.
> 
> ______________________________________________
> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.



More information about the R-help mailing list