glm {base} | R Documentation |
Fitting Generalized Linear Models
Description
glm
is used to fit generalized linear models.
Models for glm
are specified by giving
a symbolic description of the linear predictor and
a description of the error distribution.
Usage
glm(formula, family = gaussian, data, weights = NULL, subset = NULL,
na.action, start = NULL, offset = NULL,
control = glm.control(epsilon=0.0001, maxit=10, trace=FALSE),
model = TRUE, method = "glm.fit", x = FALSE, y = TRUE,
contrasts = NULL, ...)
glm.control(epsilon = 0.0001, maxit = 10, trace = FALSE)
glm.fit(x, y, weights = rep(1, nrow(x)),
start = NULL, etastart = NULL, mustart = NULL,
offset = rep(0, nrow(x)),
family = gaussian(), control = glm.control(),
intercept = TRUE)
Arguments
formula |
a symbolic description of the model to be fit. The details of model specification are given below. |
family |
a description of the error distribution and link
function to be used in the model.
See |
data |
an optional data frame containing the variables
in the model. By default the variables are taken from
the environment ffrom which |
weights |
an optional vector of weights to be used in the fitting process. |
subset |
an optional vector specifying a subset of observations to be used in the fitting process. |
na.action |
a function which indicates what should happen
when the data contain |
start |
starting values for the parameters in the linear predictor. |
etastart |
starting values for the linear predictor. |
mustart |
starting values for the vector of means. |
offset |
this can be used to specify an a priori known component to be included in the linear predictor during fitting. |
control |
a list of parameters for controlling the fitting
process. See the documentation for |
model |
a logical value indicating whether model frame should be included as a component of the returned value. |
method |
the method to be used in fitting the model.
The default (and presently only) method |
x , y |
logical values indicating whether the response vector and model matrix used in the fitting process should be returned as components of the returned value. |
contrasts |
an optional list. See the |
Details
A typical predictor has the form response ~ terms
where
response
is the (numeric) response vector and terms
is a
series of terms which specifies a linear predictor for response
.
For binomial
models the response can also be specified as a
factor
(when the first level denotes failure and all
others success) or as a two-column matrix with the columns giving the
numbers of successes and failures. A terms specification of the form
first+second
indicates all the terms in first
together
with all the terms in second
with duplicates removed.
A specification of the form first:second
indicates the
the set of terms obtained by taking the interactions of
all terms in first
with all terms in second
.
The specification first*second
indicates the cross
of first
and second
.
This is the same as first+second+first:second
.
Value
glm
returns an object of class glm
which inherits from the class lm
.
The function summary
(i.e., summary.glm
) can
be used to obtain or print a summary of the results and the function
anova
(i.e., anova.glm
)
to produce an analysis of variance table.
The generic accessor functions coefficients
,
effects
, fitted.values
and residuals
can be used to
extract various useful features of the value returned by glm
.
Note
Offsets specified by offset
will not be included in predictions
by predict.glm
, whereas those specified by an offset term
in the formula will be.
See Also
anova.glm
, summary.glm
, etc. for
glm
methods,
and the generic functions anova
, summary
,
effects
, fitted.values
,
and residuals
. Further, lm
for
non-generalized linear models.
Examples
## Annette Dobson (1990) "An Introduction to Generalized Linear Models".
## Page 93: Randomized Controlled Trial :
counts <- c(18,17,15,20,10,20,25,13,12)
outcome <- gl(3,1,9)
treatment <- gl(3,3)
print(d.AD <- data.frame(treatment, outcome, counts))
glm.D93 <- glm(counts ~ outcome + treatment, family=poisson())
anova(glm.D93)
summary(glm.D93)
## an example with offsets from Venables & Ripley (1999, pp.217-8)
## Not run:
## Need the anorexia data from a 1999 version of the package MASS:
library(MASS)
data(anorexia)
## End(Not run)
anorex.1 <- glm(Postwt ~ Prewt + Treat + offset(Prewt),
family = gaussian, data = anorexia)
summary(anorex.1)