On May 4, 2010, at 3:52 PM, ivo welch wrote:

thank you, david.  indeed.  works great (almost).  an example for
anyone else googling this in the future:

x=1:20
y= 2+3*ifelse(x>10, 10, x)+rnorm(20,0,0.01)
r1= nls( y~ a+b*pmin(c,x), start=list(a=2, b=3, c=10), trace=TRUE )
0.002142 :   2  3 10
0.002115 :   2.004  3.000 10.000
0.002114 :   2.006  2.999 10.001
0.002084 :   2.005  2.999 10.000
...
0.002079 :   2.005  2.999 10.000
Error in nls(y ~ a + b * pmin(c, x), start = list(a = 2, b = 3, c = 10), :
 step factor 0.000488281 reduced below 'minFactor' of 0.000976562

strange error, but unrelated to my question. will figure this one out next.

I get no error. May be difficult to sort out unless you can reproduce after setting a random seed.

> x=1:20
> y= 2+3*ifelse(x>10, 10, x)+rnorm(20,0,0.01)
> r1= nls( y~ a+b*pmin(c,x), start=list(a=2, b=3, c=10), trace=TRUE )
0.001560045 :   2  3 10
0.001161253 :   2.003824  2.998973 10.000388
0.001161253 :   2.003824  2.998973 10.000388

--
David.


regards,

/iaw


On Tue, May 4, 2010 at 3:40 PM, David Winsemius <dwinsem...@comcast.net > wrote:

On May 4, 2010, at 3:33 PM, ivo welch wrote:

Dear R experts---I would like to estimate a non-linear least squares
expression that looks something like

 y ~ a+b*min(c,x)

where a, b, and c are the three parameters.  how do I define a min
function in the formula language of R?  advice appreciated.

?pmin


sincerely,

/iaw

______________________________________________
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.

David Winsemius, MD
West Hartford, CT



David Winsemius, MD
West Hartford, CT

______________________________________________
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.

Reply via email to