Learn R Programming

msme (version 0.5.3)

nbinomial: A function to fit negative binomial generalized linear models using maximum likelihood.

Description

This function fits generalized linear models by maximizing the joint log-likeliood, which is set in a separate function. Two-parameter members of the negative binomial family are covered. The post-estimation output is designed to work with existing reporting functions.

Usage

nbinomial(formula1, formula2 = ~1, data, family="nb2", mean.link="log",
          scale.link="inverse_s", offset=0, start=NULL, verbose=FALSE)

Arguments

formula1

an object of class '"formula"' (or one that can be coerced to that class): a symbolic description of the mean function for the model to be fitted. (See the help for 'glm' for more details).

formula2

an object of class '"formula"' (or one that can be coerced to that class): a symbolic description of the scale function for the model to be fitted. (See the help for 'glm' for more details).

data

a data frame containing the variables in the model.

family

a description of the error distribution be used in the model. This must be a character string naming a family.

mean.link

a description of the link function be used for the mean in the model. This must be a character string naming a link function.

scale.link

a description of the link function be used for the scale in the model. This must be a character string naming a link function.

offset

this can be used to specify an _a priori_ known component to be included in the linear predictor during fitting. This should be 0 or a numeric vector of length equal to the number of cases.

start

optional starting points for the parameter estimation.

verbose

logical flag affecting the detail of printing. Defaults to FALSE.

Value

fit

the output of optim.

loglike

the maximized log-likelihood.

X

the design matrix.

y

the response variable.

p

the number of parameters estimated.

rank

the rank of the design matrix for the mean function.

call

the call used for the function.

obs

the number of observations.

fitted.values

estimated response variable.

linear.predictor

linear predictor.

df.null

the degrees of freedom for the null model.

df.residual

the residual degrees of freedom.

pearson

the Pearson Chi2.

null.pearson

the Pearson Chi2 for the null model.

dispersion

the dispersion.

deviance

the residual deviance.

null.deviance

the residual deviance for the null model.

residuals

the deviance residuals.

presiduals

the Pearson residuals.

coefficients

parameter estimates.

se.beta.hat

standard errors of parameter estimates.

aic

Akaike's Information Criterion.

offset

the offset used.

i

the number of iterations required for convergence.

Details

The containing package, msme, provides the needed functions to use the nbinomial function to fit the negative binomial (2), families, and supports the use of the identity and log link functions.

The object returned by the function is designed to be reported by the print.glm function.

References

Hilbe, J.M., and Robinson, A.P. 2013. Methods of Statistical Model Estimation. Chapman & Hall / CRC.

See Also

glm, irls, ml_glm2,

Examples

Run this code
# NOT RUN {
data(medpar)

# TRADITIONAL NB REGRESSION WITH ALPHA

mynb1 <- nbinomial(los ~ hmo + white, data=medpar)
summary(mynb1)

# TRADITIONAL NB -- SHOWING ALL OPTIONS

mynb2 <- nbinomial(los ~ hmo + white,
                    formula2 = ~ 1,
                    data = medpar,
                    family = "nb2",
                    mean.link = "log",
                    scale.link = "inverse_s")
summary(mynb2)

# R GLM.NB - LIKE INVERTED DISPERSION BASED M

mynb3 <- nbinomial(los ~ hmo + white,
                    formula2 = ~ 1,
                    data = medpar,
                    family = "negBinomial",
                    mean.link = "log",
                    scale.link = "inverse_s")
summary(mynb3)

# R GLM.NB-TYPE INVERTED DISPERSON --THETA ; WITH DEFAULTS

mynb4 <- nbinomial(los ~ hmo + white, family="negBinomial", data =medpar)
summary(mynb4)

# HETEROGENEOUS NB; DISPERSION PARAMETERIZED

mynb5 <- nbinomial(los ~ hmo + white,
                    formula2 = ~ hmo + white,
                    data = medpar,
                    family = "negBinomial",
                    mean.link = "log",
                    scale.link = "log_s")
summary(mynb5)



# }

Run the code above in your browser using DataLab