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 <rvarad...@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: rvarad...@jhmi.edu > > > ----- Original Message ----- > From: js.augus...@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]] ______________________________________________ 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.