R Under development (unstable) (2024-03-07 r86063 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. > ## bug report from Thomas Leeper, fixed in version 3.32-3 > > 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) > dstrat<-svydesign(id=~1,strata=~stype, weights=~pw, data=apistrat, fpc=~fpc) > > # pass `family` directly (WORKS!) > svyglm(api00~ell+meals+mobility, design=dstrat, family = gaussian()) Stratified Independent Sampling design svydesign(id = ~1, strata = ~stype, weights = ~pw, data = apistrat, fpc = ~fpc) Call: svyglm(formula = api00 ~ ell + meals + mobility, design = dstrat, family = gaussian()) Coefficients: (Intercept) ell meals mobility 820.8873 -0.4806 -3.1415 0.2257 Degrees of Freedom: 199 Total (i.e. Null); 194 Residual Null Deviance: 3023000 Residual Deviance: 1029000 AIC: 2308 > > # passing `family` via ... (WORKS!) > myfun1 <- function(formula, design, ...) { + svyglm(formula, design = design, ...) + } > myfun1(api00~ell+meals+mobility, design=dstrat, family = gaussian()) Stratified Independent Sampling design svydesign(id = ~1, strata = ~stype, weights = ~pw, data = apistrat, fpc = ~fpc) Call: svyglm(formula = formula, design = design, family = ..1) Coefficients: (Intercept) ell meals mobility 820.8873 -0.4806 -3.1415 0.2257 Degrees of Freedom: 199 Total (i.e. Null); 194 Residual Null Deviance: 3023000 Residual Deviance: 1029000 AIC: 2308 > > # passing `family` via default argument (DOES NOT WORK!) > myfun2 <- function(formula, design, family = gaussian()) { + svyglm(formula, design = design, family = family) + } > myfun2(api00~ell+meals+mobility, design=dstrat, family = gaussian()) Stratified Independent Sampling design svydesign(id = ~1, strata = ~stype, weights = ~pw, data = apistrat, fpc = ~fpc) Call: svyglm(formula = formula, design = design, family = family) Coefficients: (Intercept) ell meals mobility 820.8873 -0.4806 -3.1415 0.2257 Degrees of Freedom: 199 Total (i.e. Null); 194 Residual Null Deviance: 3023000 Residual Deviance: 1029000 AIC: 2308 > > proc.time() user system elapsed 1.04 0.15 1.20