group.glm: Group observations in a binomial glm

Description Usage Arguments Details Value Author(s) References Examples

View source: R/discrimFuns.R

Description

This function groups the observations in a binomial glm based on the covariate structure. This can make it possible to assess goodness-of-fit in some models fitted to binary observations.

Usage

1
2
## S3 method for class 'glm'
group(object, eval = TRUE, ind = NULL, ...)

Arguments

object

a binomial glm object

eval

should the new glm-model be evaluated?

ind

an indicator for which rows to keep. If this is not specified the grouping structure is based on the covariate structure in the model.

...

currently not used

Details

The residual deviance and residual Pearson deviance are not meaningful measures of goodness-of-fit if the expected frequencies under the model are small (say less than five).

if eval = TRUE it is tested whether the estimated coefficients are identical up to three significant digits and a warning is issued if this is not the case. This should be the case in well-behaved situations but may not happen in cases of complete separation.

Value

A list with components

newCall

the new call

newData

a data frame with the aggregated data set

oldData

a data frame with the original data set

oldN

the number of rows (cases / observations) in the original data set

newN

the number of rows (cases / observations) in the aggregated data set

oldObject

the original fitted model

newObject

if eval = TRUE the new fitted model object, otherwise empty

Author(s)

Rune Haubo B Christensen

References

Collett, D. (2003) Modelling binary data. Second edition. Chapman & Hall/CRC.

Venables, W.N. and Ripley, B.D. (2002) Modern Applied Statistics with S. Fourth Edition. Springer

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
## Lifted from example(predict.glm):
ldose <- rep(0:5, 2)
numdead <- c(1, 4, 9, 13, 18, 20, 0, 2, 6, 10, 12, 16)
sex <- factor(rep(c("M", "F"), c(6, 6)))
SF <- cbind(numdead, numalive=20-numdead)
## budworm.lg <- glm(SF ~ sex*ldose, family=binomial)
## summary(budworm.lg)
dat <- data.frame(SF=SF, sex, ldose)
dat[10, 1:2] <- rep(5, 2)
dat[13, ] <- dat[10, ]
rm(SF, sex, ldose)
SF <- as.matrix(dat[,1:2])
dat <- dat[,-(1:2)]
dat <- as.data.frame(cbind(SF, dat))

summary(m0 <- glm(SF ~ sex*ldose, binomial, dat))

## Various types of grouping:
(ind <- c(1:12, 10))
g <- group(m0, ind=ind, eval=TRUE)
g <- group(m0, eval=FALSE)
g <- group(m0, eval=TRUE)

## The correct GOF-test from the residual deviance is given by:
g$newObject

binomTools documentation built on May 29, 2017, 10:12 p.m.