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