R: Fit Generalized Estimating Equations (GEE)

geeglm {geepack} | R Documentation

## Fit Generalized Estimating Equations (GEE)

### Description

The geeglm function fits generalized estimating equations using the 'geese.fit' function of the 'geepack' package for doing the actual computations. geeglm has a syntax similar to glm and returns an object similar to a glm object. An important feature of geeglm, is that an anova method exists for these models.

### Usage

    geeglm(formula, family = gaussian, data=parent.frame(), weights, subset,
                      na.action, start = NULL, etastart, mustart, offset,
                      control = geese.control(...),
                      method = "glm.fit", x = FALSE, y = TRUE,
                      contrasts = NULL,
                      id, waves=NULL, zcor=NULL,
                      corstr = "independence",
                      scale.fix = FALSE,
                      scale.value =1, std.err="san.se",
                      ...)

### Arguments

`formula` | See corresponding documentation to `glm`
`family` | See corresponding documentation to `glm`
`data` | See corresponding documentation to `glm`
`weights` | See corresponding documentation to `glm`
`subset` | See corresponding documentation to `glm`
`na.action` | No action is taken. Indeed geeglm only works on complete data.
`start` | See corresponding documentation to `glm`
`etastart` | See corresponding documentation to `glm`
`mustart` | See corresponding documentation to `glm`
`offset` | See corresponding documentation to `glm`
`control` | See corresponding documentation to `glm`

`method` | See corresponding documentation to `glm`
`x` | See corresponding documentation to `glm`
`y` | See corresponding documentation to `glm`
`contrasts` | See corresponding documentation to `glm`
`id` | a vector which identifies the clusters. The length of ‘id’ should be the same as the number of observations. Data are assumed to be sorted so that observations on a cluster are contiguous rows for all entities in the formula.
`waves` | Wariable specifying the ordering of repeated mesurements on the same unit. Also used in connection with missing values. See examples below.
`zcor` | Used for entering a user defined working correlation structure.
`corstr` | a character string specifying the correlation structure. The following are permitted: '"independence"', '"exchangeable"', '"ar1"', '"unstructured"' and '"userdefined"'
`scale.fix` | a logical variable; if true, the scale parameter is fixed at the value of 'scale.value'.
`scale.value` | numeric variable giving the value to which the scale parameter should be fixed; used only if 'scale.fix == TRUE'.
`std.err` | Type of standard error to be calculated. Defualt 'san.se' is the usual robust estimate. Other options are 'jack': if approximate jackknife variance estimate should be computed. 'j1s': if 1-step jackknife variance estimate should be computed. 'fij': logical indicating if fully iterated jackknife variance estimate should be computed.
`...` | further arguments passed to or from other methods.

### Details

In the case of corstr="fixed" one must provide the zcor vector if the clusters have unequal sizes.

Clusters with size one must not be represented in zcor.

### Value

An object of type 'geeglm'

### Warning

Use "unstructured" correlation structure only with great care. (It may cause R to crash).

### Note

See the documentation for the 'geese' function for additional information. geeglm only works for complete data. Thus if there are NA's in data you can specify data=na.omit(mydata).

### Author(s)

Søren Højsgaard, sorenh@agrsci.dk

### References

Liang, K.Y. and Zeger, S.L. (1986) Longitudinal data analysis using generalized linear models. Biometrika, *73* 13-22.

Prentice, R.L. and Zhao, L.P. (1991). Estimating equations for parameters in means and covariances of multivariate discrete and continuous responses. Biometrics, *47* 825-839.

### See Also

`geese`, `glm`,`anova.geeglm`

### Examples

    data(dietox)
    dietox$Cu     <- as.factor(dietox$Cu)
    mf <- formula(Weight~Cu*(Time+I(Time^2)+I(Time^3)))
    gee1 <- geeglm(mf, data=dietox, id=Pig, family=poisson("identity"),corstr="ar1")
    gee1
    summary(gee1)

    mf2 <- formula(Weight~Cu*Time+I(Time^2)+I(Time^3))
    gee2 <- geeglm(mf2, data=dietox, id=Pig, family=poisson("identity"),corstr="ar1")
    anova(gee2)

[Package geepack version 1.2-1 Index]