# [R] Robust nonlinear regression - sin(x)/x?

Spencer Graves spencer.graves at pdf.com
Mon Feb 2 20:46:08 CET 2004

```      You didn't tell us what the error message nls gave, but it should
be obvious:  You can estimate either a or b in this model (or their
ratio), but you can't estimate both.  See any good book on nonlinear
regression, e.g., Bates and Watts (1988) Nonlinear Regression and Its
Applications (Wiley).

With that simplification, the equation is linear.

However, I see another problem:  If x is 0, sin(x)/x is "NaN".
For a situation like this, I typically write a function to first compute
"sin(x)/x", then test for x being 0 or very small, and replace the value
in such cases with a more accurate Taylor series or asymptotic expansion.

hope this helps.
spencer graves

cstrato wrote:

> Dear all
>
> Since I did not receive any answer to my general question (?),
> let me ask a concrete question:
>
> How can I fit the simple function y = a*sin(x)/b*x?
>
> This is the code that I tried, but nls gives an error:
>
> x <- seq(1,10,0.1)
> y <- sin(x)/x
> plot(x,y)
> z <- jitter(y,amount=0.1)
> plot(x,z)
> df <- as.data.frame(cbind(x,z))
> nf <- nls(z ~ a*sin(x)/b*x, data=df,
>           start=list(a=0.8,b=0.9), trace = TRUE)
>
> I have followed the Puromycin sample which works fine:
> Pur.wt <- nls(rate ~ (Vm * conc)/(K + conc), data = Treated,
>               start = list(Vm = 200, K = 0.1), trace = TRUE)
>
> Do I make some mistake or is it not possible to fit sin(x)/x?
>
> Best regards
> Christian
> _._._._._._._._._._._._._._._._
> C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a
> V.i.e.n.n.a       A.u.s.t.r.i.a
> _._._._._._._._._._._._._._._._
>
>
> cstrato wrote:
>
>> Dear R experts
>>
>> This is a general question:
>> Does R have functions for nonlinear robust regression,
>> analogous to e.g. LTS?
>>
>> Searching google I have found
>> 1, an abstract to generalize LTS for nonlinear regression
>> models, see: http://smealsearch.psu.edu/1509.html
>> but no mention of R/S
>>
>> Best regards
>> Christian
>> _._._._._._._._._._._._._._._._
>> C.h.i.s.t.i.a.n S.t.r.a.t.o.w.a
>> V.i.e.n.n.a       A.u.s.t.r.i.a
>> _._._._._._._._._._._._._._._._
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch mailing list
>> https://www.stat.math.ethz.ch/mailman/listinfo/r-help
>> http://www.R-project.org/posting-guide.html
>>
>>
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://www.stat.math.ethz.ch/mailman/listinfo/r-help