[R] error message in fitdistr

(Ted Harding) Ted.Harding at nessie.mcc.ac.uk
Tue Aug 5 14:00:07 CEST 2003


On 05-Aug-03 vincent.stoliaroff at sgcib.com wrote:
> Here is a numerical vector test
>> test
>   [1] 206  53 124 112  92  77 118  75  48 176  90  74 107 126  99  84
> ...
> 89  94  69  74  99  97  91  92
> 
> Assuming it follows a lognormal distribution I'd like to determine the
> mean and the sd thanks to maximum likelihood estimation
> 
>> fitdistr(test,"lognormal",start=list(200,10))
> Error in print.fitdistr(structure(list(estimate = c(4.54666263736726, 
>:
>         more elements supplied than there are to replace
> 
> I chose the parameter start randomly
> 
> I don't understand the error message. Has anybody ever encountered such
> one?

Hmmm. Not being practised with "fitdist", this took me a moment to track
down. However, the clues are:

1. In ?fitdist ::
   fitdistr(x, densfun, start, ...)
   start: A named list giving the parameters to be optimized with
          initial values.  This can be omitted for some of the named
          distributions (see Details) [not lognormal]. 
2. Hence start must be a _named_ list, i.e. its components must have
   names. So the question is: what to call them?
   For this you need to know what the names are for the parameters in
   your designated distribution. So:
3. help.search("lognormal") -> Lognormal(base)
4. ?Lognormal ::
   dlnorm(x, meanlog = 0, sdlog = 1, log = FALSE)

So it looks as though you need names "meanlog" and "sdlog", so now try

   fitdistr(test,"lognormal",start=list(meanlog=4,sdlog=0.4))

with results

    meanlog       sdlog   
    4.55316203   0.38990402 
    (0.02866631) (0.02026545)

and it works!

The starting values "4" and "0.4" were chosen because

    mean(log(test))
    [1] 4.553205

    sd(log(test))
    [1] 0.3910148

and of course it works if you start elsewhere; but this also shows that
the naive estimate, in this case, was very good.

Best wishes,
Ted.


--------------------------------------------------------------------
E-Mail: (Ted Harding) <Ted.Harding at nessie.mcc.ac.uk>
Fax-to-email: +44 (0)870 167 1972
Date: 05-Aug-03                                       Time: 13:00:07
------------------------------ XFMail ------------------------------




More information about the R-help mailing list