fitdistr(x, densfun, start, ...)
"beta"
,
"cauchy"
,
"chi-squared"
,
"exponential"
,
"f"
,
"gamma"
,
"log-normal"
,
"lognormal"
,
"logistic"
,
"negative binomial"
,
"normal"
,
"t"
,
"uniform"
and
"weibull"
are recognised, case being ignored.
densfun
or for
nlminb
. In
particular, it can be used to specify bounds via
lower
or
upper
or
both. If arguments of
densfun
(or the density function
corresponding to a character-string specification) are included they
will be held fixed.
"fitdistr"
, a list with two components,
Direct optimization of the log-likelihood is performed, with numerical
derivatives. The estimated standard errors are taken from the
observed information, calculated by a numerical approximation.
For the following named distributions, reasonable starting values will
be computed if
start
is omitted or only partially specified:
cauchy
,
gamma
,
logistic
,
t
,
uniform
,
weibull
.
set.seed(123) x <- rgamma(100, shape = 5, rate = 0.1) fitdistr(x, "gamma") ## now do this directly with more control. fitdistr(x, dgamma, list(shape = 1, rate = 0.1), lower = 0.01) set.seed(123) x2 <- rt(250, df = 9) fitdistr(x2, "t", df = 9) ## allow df to vary: not a very good idea! fitdistr(x2, "t") ## now do this directly with more control. mydt <- function(x, m, s, df) dt((x-m)/s, df)/s fitdistr(x2, mydt, list(m = 0, s = 1), df = 9, lower = c(-Inf, 0)) set.seed(123) x3 <- rweibull(100, shape = 4, scale = 100) fitdistr(x3, "weibull") set.seed(123) x4 <- rnegbin(500, mu = 5, theta = 4) fitdistr(x4, "Negative Binomial") # R only