Elizabeth,

It's difficult to troubleshoot without the data.  Could you provide the
output from
     dput(FG2)
or if your data set is quite large, perhaps
     dput(FG2[1:50, ])

If you want to fit a third parameter to represent the base of the log, you
could use
     nls(CO2 ~ log(a*Time) / log(c) + b, start=c(a=68, b=400, c=10),
data=FG2)
where c represents the base of the log in this relation:
CO2 = log_c(a*Time) + b

Jean




On Mon, Jul 8, 2013 at 9:27 PM, Elizabeth Webb
<webb.elizabeth.e@gmail.com>wrote:

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

	[[alternative HTML version deleted]]

