Ravi, thank you for the explanation - that makes perfect sense, and it
wouldn't have occurred to me to suspect a negative parameter based on the
error. Using the elaborated syntax from the help page yields a lovely fit.
Regards,

Jason



On Wed, Dec 24, 2008 at 10:57 AM, Ravi Varadhan <rvaradhan@jhmi.edu> wrote:

> Hi Jason,
>
> The error message indicates that there was problem in estimating the
> gradient of objective function.  It has nothing to do with your second data
> point.  This could happen for a variety of reasons, but the most proximate
> cause of the problem seems due to a parameter being negative during the
> iteration.  The best solution, most often, is to provide a better (or
> atleast a different) starting value.  Look at the example in the help page
> for "fitdistr":
>
> fitdistr(x, dgamma, list(shape = 1, rate = 0.1), lower = 0.01)
>
> Note that the above command specifies lower bounds on both the shape and
> the rate parameter (hence a different optimziation algorithm will be used in
> "optim").
>
> Best,
> Ravi.
> ____________________________________________________________________
>
> Ravi Varadhan, Ph.D.
> Assistant Professor,
> Division of Geriatric Medicine and Gerontology
> School of Medicine
> Johns Hopkins University
>
> Ph. (410) 502-2619
> email: rvaradhan@jhmi.edu
>
>
> ----- Original Message -----
> From: JS.Augustyn@gmail.com
> Date: Tuesday, December 23, 2008 11:27 pm
> Subject: [R] Non-finite finite difference error
> To: r-help@r-project.org
>
>
> > Hello, I'm trying to use fitdistr() from the MASS package to fit a
> > gamma
> >  distribution to a set of data. The data set is too large (1167
> > values) to
> >  reproduce in an email, but the summary statistics are:
> >
> >  Min. 1st Qu. Median Mean 3rd Qu. Max.
> >  116.7 266.7 666.7 1348.0 1642.0 16720.0
> >
> >  The call I'm trying to make is:
> >  fitdistr(x,"gamma")
> >
> >  and the error is:
> >  Error in optim(x = c(3466.676842, 1666.749002, 2500.067852,
> > 1200.053892, :
> >  non-finite finite-difference value [2]
> >  In addition: Warning message:
> >  In dgamma(x, shape, scale, log) : NaNs produced
> >
> >  I found a couple of other posts from folks who were getting the same
> > error
> >  from optim(), but did not find any useful tips for my situation. The
> > error
> >  seems to indicate a problem with value 2 in my data set
> > (1666.749002), but
> >  nothing seems odd about that value.
> >
> >  I'm willing to pass along the full data set as an attachment if it
> > would
> >  help.
> >
> >  Thank you in advance!
> >
> >  Jason S. Augustyn, Ph.D.
> >
> >       [[alternative HTML version deleted]]
> >
> >  ______________________________________________
> >  R-help@r-project.org mailing list
> >
> >  PLEASE do read the posting guide
> >  and provide commented, minimal, self-contained, reproducible code.
>

	[[alternative HTML version deleted]]

