svysd extends the survey package by calculating standard deviations with syntax similar to the original package, which provides only a svyvar function.

svysd(formula, design, na.rm = FALSE,
  digits = getOption("jtools-digits", default = 3), ...)



A formula (e.g., ~var1+var2) specifying the term(s) of interest.


The or object.


Logical. Should cases with missing values be dropped?


An integer specifying the number of digits past the decimal to report in the output. Default is 3. You can change the default number of digits for all jtools functions with options("jtools-digits" = digits) where digits is the desired number.


Additional arguments passed to svyvar.


An alternative is to simply do sqrt(svyvar(~term, design = design)). However, if printing and sharing the output, this may be misleading since the output will say "variance."


This function was designed independent of the survey package and is neither endorsed nor known to its authors.

See also


Other survey package extensions: svycor

Other survey tools: pf_sv_test, svycor, weights_tests, wgttest


if (requireNamespace("survey")) { library(survey) data(api) # Create survey design object dstrat <- svydesign(id = ~1,strata = ~stype, weights = ~pw, data = apistrat, fpc=~fpc) # Print the standard deviation of some variables svysd(~api00+ell+meals, design = dstrat) }
#> std. dev. #> api00 123.250 #> ell 21.267 #> meals 29.503