Learn R Programming

survey (version 3.29-4)

anova.svyglm: 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)

Value

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

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.

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

Run this code
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")

Run the code above in your browser using DataLab