[R] R formula language---a min and max function?
David Winsemius
dwinsemius at comcast.net
Tue May 4 21:59:58 CEST 2010
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 <dwinsemius at 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 at 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
More information about the R-help
mailing list