R Under development (unstable) (2024-03-08 r86070 ucrt) -- "Unsuffered Consequences" Copyright (C) 2024 The R Foundation for Statistical Computing Platform: x86_64-w64-mingw32/x64 R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > library(survey) Loading required package: grid Loading required package: Matrix Loading required package: survival Attaching package: 'survey' The following object is masked from 'package:graphics': dotchart > > data(api) > > ## one-stage cluster sample > dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc) > > # svyglm model > mod <- svyglm(api99 ~ enroll + api.stu, design = dclus1, deff = TRUE) > > #deffs returned from svyglm model - implausibly high > deff(mod) (Intercept) enroll api.stu 1.919945 2.500983 2.686102 > #> (Intercept) enroll api.stu > #> 351.3500 457.6799 491.5567 > > # run mod with same data and glm() > srs_mod <- glm(api99 ~ enroll + api.stu, data = apiclus1) > > # manually calculate deffs > > clust_se <- summary(mod)$coefficients[,2] > srs_se <- summary(srs_mod)$coefficients[,2] > > deffs <- clust_se^2 / srs_se^2 > stopifnot(all.equal(deffs, deff(mod))) > > > proc.time() user system elapsed 0.90 0.14 1.04