Hi-
I am trying to fit a log function to my data, with the ultimate goal of
finding the second derivative of the function. However, I am stalled on
the first step of fitting a curve.
When I use the following code:
FG2.model<-(nls((CO2~log(a*Time)+b), start=setNames(coef(lm(CO2 ~
log(Time), data=FG2)), c("a", "b")),data=FG2))
I get the following error:
Error in numericDeriv(form[[3L]], names(ind), env) :
Missing value or an infinity produced when evaluating the model
In addition: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
3: In log(a * Time) : NaNs produced
4: In log(a * Time) : NaNs produced
When I fit the curve in Plot and use the coefficients as starting values:
start=c(a=68,b=400)
FG2.model<-(nls((CO2~log(a*Time)+b), start=start,data=FG2))
I get the following error:
Error in nls((CO2 ~ log(a * Time) + b), start = start, data = FG2) :
singular gradient
In addition: Warning messages:
1: In min(x) : no non-missing arguments to min; returning Inf
2: In max(x) : no non-missing arguments to max; returning -Inf
So then when I substituded nlxb for nls in the above two models, I got this
error:
Error in nlxb((CO2 ~ log(a * Time) + b), start = start, data = FG2) :
NaN in Jacobian
A few questions:
1.) How can I get R to fit my curve without returning errors?
2.) I am not sure that this data is log base 10. Is there a way I can ask
R to try for logs of different functions? For example,
FG2.model<-(nlxb((CO2~log(a*Time,c)+b), start=start,data=FG2)), where c is
an additional variable. When I try this, R tells me Non-numeric argument
to mathematical function
Thank you in advance,
Elizabeth
[[alternative HTML version deleted]]
______________________________________________
[email protected] 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.