Skip to content

named list 'start' in fitdistr

5 messages · vincent.stoliaroff@sgcib.com, Spencer Graves, Brian Ripley +2 more

#
Hi R lovers!

I'd like to know how to use the parameter 'start' in the function
fitdistr()
obviously I have to provide the initial value of the parameter to optimize
except in the case of a certain set of given distribution


Indeed according to the help file for fitdistr
"     For the following named distributions, reasonable starting values
     will be computed if `start' is omitted or only partially
     specified: `cauchy', `gamma', `logistic', `negative binomial' (R
     only, parametrized by `mu' and `size'), `t', `uniform', `weibull'.   "


However I cannot fit an univariate distribution named 'test'

I get this:
Error in fitdistr(test, "lognormal") : `start' must be a named list
Error: syntax error

How I am supposed to type a value for start depending on the distribution
on which I am fitting my set

thanks




******************************************************************
The sender's email address has changed to 
firstname.lastname@ sgcib.com. You may want to update your 
personal address book. Please see http://www.sgcib.com for more 
information.
                               **
This message and any attachments (the "message") are confide...{{dropped}}
#
An example in help(fitdistr) (R 1.7.1 for Windows) is "fitdistr(x, 
dgamma, list(shape = 1, rate = 0.1), lower = 0.01)".  Based on this, 
have you tried the following:

 >>fitdistr(test,"lognormal", start=list(meanlog=0, sdlog=1))

hope this helps.  spencer graves
vincent.stoliaroff at sgcib.com wrote:
#
On Fri, 25 Jul 2003 vincent.stoliaroff at sgcib.com wrote:

            
kindly provided for you in package MASS, but churlishly unattributed
??? did you mean a distribution named `lognormal'?
On reading the help page:

   start: A named list giving the parameters to be optimized with
          initial values. 

so
works, just like it says it would.
#
x <- exp(rnorm(100))
meanlog        sdlog   
  -0.09974374    0.92352880 
 ( 0.09235288) ( 0.06530569)
Ruud

*********** REPLY SEPARATOR  ***********
On 7/25/2003 at 4:50 vincent.stoliaroff at sgcib.com wrote:

            
"
#
On Fri, 25 Jul 2003 vincent.stoliaroff at sgcib.com wrote:

            
Well, if start is supposed to be a named list I would try that:

fitdistr(test,"lognormal",start=list(meanlog=0, sdlog=1))

	-thomas

Thomas Lumley			Assoc. Professor, Biostatistics
tlumley at u.washington.edu	University of Washington, Seattle