[R] nls: formula error?
H. Paul Benton
hpbenton at scripps.edu
Tue May 23 03:52:12 CEST 2006
So thanks for the help,
I have a matrix (AB) which in the first column has my bin numbers so -4 - +4
in 0.1 bin units. Then I have in the second column the frequency from some
data. I have plotted them and they look roughly Gaussian. So I want to fit
them/ find/optimize "mu", "sigma", and "A".
So I call the nls function :
nls_AB <- nls(x ~ (A/sig*sqrt(2*pi))* exp(-1*((x-mu)^2/(2*
sig^2))),data=temp, start= list(A=0.1, mu=0.01, sig=0.5), trace=TRUE)
Error in eval(expr, envir, enclos) : numeric 'envir' arg not of length one
Temp looks like this:
bin x
[1,] -4.0 0
[2,] -3.9 0
[3,] -3.8 0
.........etc
[41,] 0.0 241
[42,] 0.1 229
[43,] 0.2 258
[44,] 0.3 305
[45,] 0.4 370
[46,] 0.5 388
So I don't get my error message. I looked at doing
class(fo <- (x ~ (A/sig*sqrt(2*pi))* exp(-1*((x-mu)^2/(2* sig^2)))))
terms(fo)
and that seems to work. So if anyone has any ideas I would welcome them.
Cheers,
More information about the R-help
mailing list