

   FFiittttiinngg GGeenneerraalliizzeedd LLiinneeaarr MMooddeellss

        glm(formula, family=gaussian, data, weights, subset,
                na.action=na.fail, start=NULL, offset=NULL,
                control=glm.control(epsilon=0.0001, maxit=10,
                        trace=F),
                model=T, method=glm.fit, x=F, y=T)

        summary(glm.obj, dispersion=NULL, correlation=FALSE,
                na.action=na.omit)
        anova(glm.obj, ...)

        coefficients(glm.obj)
        deviance(glm.obj)
        df.residual(glm.obj)
        effects(glm.obj)
        family(glm.obj)
        fitted.values(glm.obj)
        residuals(glm.obj, type="deviance")

        glm.control(epsilon=0.0001, maxit=10, trace=FALSE)
        glm.fit(x, y, weights=rep(1, nrow(x)),
                start=NULL, offset=rep(0, nrow(x)),
                family=gaussian(), control=glm.control(),
                intercept=TRUE)

   AArrgguummeennttss::

    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 `family'
             for details.

       data: an optional data frame containing the variables in
             the model.  By default the variables are taken
             from the environment which `lm' is called from.

    weights: an optional vector of weights to be used in the
             fitting process.

     subset: an optional vector specifying a subset of observa-
             tions to be used in the fitting process.

   na.action: a function which indicates what should happen
             when the data contain `NA's.  The default action
             (`na.omit') is to omit any incomplete observa-
             tions.  The alternative action `na.fail' causes
             `lm' to print an error message and terminate if
             there are any incomplete observations.

      start: starting values for the parameters in the linear
             predictor.

     offset: this can be used to specify an a-priori known com-
             ponent to be included in the linear predictor dur-
             ing fitting.

    control: a list of parameters for controlling the fitting
             process.  See the documentation for `glm.control'
             for details.

      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 `glm.fit' uses
             iteratively reweighted least squares.

        x,y: logical values indicating whether the response
             vector and design matrix used in the fitting pro-
             cess should be returned as components of the
             returned value.

    glm.obj: an object of class `glm'.

   dispersion: the dispersion parameter for the fitting family.
             By default the dispersion parameter is obtained
             from `glm.obj'.

   correlation: should the correlation matrix of the estimated
             parameters be printed.

       type: the type of residuals which should be returned.
             The alternatives are: `"deviance"', `"pearson"',
             `"working"', `"response"'.

   DDeessccrriippttiioonn::

        `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.  A typical predictor has the
        form `reponse ~ terms' where `response' is the
        (numeric) response vector and `terms' is a series of
        terms which specifies a linear predictor for
        `response'.  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'.

   VVaalluuee::

        `glm' returns an object of class `glm' which inherits
        from the class `lm'.  The function `summary' can be
        used to obtain or print a summary of the results and
        the function `anova' and be used to produce and analy-
        sis of variance table.  The generic accessor functions
        `coefficients', `effects', `fitted.values' and `residu-
        als' can be used to extract various useful features of
        the value returned by `glm'.

   SSeeee AAllssoo::

        `anova', `coefficients', `effects', `fitted.values',
        `lm', `residuals', `summary'.

   EExxaammpplleess::

        ## Annette Dobson (1990) "An Introduction to Statistical Modelling".
        ## 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,9)
        print(d.AD <- data.frame(treatment, outcome, counts))
        glm.D93 <- glm(counts ~ outcome + treatment, family=poisson())
        anova(glm.D93)
        summary(glm.D93)

