anova.svyglm {survey}R Documentation

Model comparison for glms.

Description

A method for the anova function, for use on svyglm objects. With a single model argument it produces a sequential anova table, with two arguments it compares the two models.

Usage

## S3 method for class 'svyglm'
anova(object, object2 = NULL, test = c("F", "Chisq"), method = c("LRT", "Wald"), tolerance = 1e-05, ..., force = FALSE)

Arguments

object

A svyglm object.

object2

Optionally, another svyglm object.

test

Use (linear combination of) F or chi-squared distributions for p-values. F is usually preferable.

method

Use weighted deviance difference (LRT) or Wald tests to compare models

tolerance

For models that are not symbolically nested, the tolerance for deciding that a term is common to the models.

...

For future expansion

force

Force the tests to be done by explicit projection even if the models are symbolically nested (for debugging)

Details

The reference distribution for the LRT depends on the misspecification effects for the parameters being tested (Rao and Scott, 1984). If the models are symbolically nested, so that the relevant parameters can be identified just by manipulating the model formulas, anova is equivalent to regTermTest. If the models are nested but not symbolically nested, more computation using the design matrices is needed to determine the projection matrix on to the parameters being tested. Typical examples of models that are nested but not symbolically nested are linear and spline models for a continuous covariate or linear and saturated models for a factor.

The saddlepoint approximation is used for the LRT with numerator df greater than 1.

Value

Object of class seqanova.svyglm if one model is given, otherwise of class regTermTest or regTermTestLRT

References

Rao, JNK, Scott, AJ (1984) "On Chi-squared Tests For Multiway Contingency Tables with Proportions Estimated From Survey Data" Annals of Statistics 12:46-60.

See Also

regTermTest, pchisqsum

Examples

data(api)
 dclus2<-svydesign(id=~dnum+snum, weights=~pw, data=apiclus2)

 model1<-svyglm(I(sch.wide=="Yes")~ell+meals+mobility+as.numeric(stype), design=dclus2, family=quasibinomial())
 model2<-svyglm(I(sch.wide=="Yes")~ell+meals+mobility+stype, design=dclus2, family=quasibinomial())

 anova(model2)						     		    
 anova(model1, model2)

 anova(model1, model2, method="Wald")

[Package survey version 3.28 Index]