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