Auxiliary function for `glm`

fitting.
Typically only used internally by `glm.fit`

, but may be
used to construct a `control`

argument to either function.

`glm.control(epsilon = 1e-8, maxit = 25, trace = FALSE)`

epsilon

positive convergence tolerance \(\epsilon\); the iterations converge when \(|dev - dev_{old}|/(|dev| + 0.1) < \epsilon\).

maxit

integer giving the maximal number of IWLS iterations.

trace

logical indicating if output should be produced for each iteration.

A list with components named as the arguments.

The `control`

argument of `glm`

is by default passed
to the `control`

argument of `glm.fit`

, which uses
its elements as arguments to `glm.control`

: the latter provides
defaults and sanity checking.

If `epsilon`

is small (less than \(10^{-10}\)) it is
also used as the tolerance for the detection of collinearity in the
least squares solution.

When `trace`

is true, calls to `cat`

produce the
output for each IWLS iteration. Hence, `options(digits = *)`

can be used to increase the precision, see the example.

Hastie, T. J. and Pregibon, D. (1992)
*Generalized linear models.*
Chapter 6 of *Statistical Models in S*
eds J. M. Chambers and T. J. Hastie, Wadsworth & Brooks/Cole.

# NOT RUN { ### A variation on example(glm) : ## Annette Dobson's example ... counts <- c(18,17,15,20,10,20,25,13,12) outcome <- gl(3,1,9) treatment <- gl(3,3) oo <- options(digits = 12) # to see more when tracing : glm.D93X <- glm(counts ~ outcome + treatment, family = poisson(), trace = TRUE, epsilon = 1e-14) options(oo) coef(glm.D93X) # the last two are closer to 0 than in ?glm's glm.D93 # }