surveysummary {survey}R Documentation

Summary statistics for sample surveys

Description

Compute means, variances, ratios and totals for data from complex surveys.

Usage

svymean(x, design, na.rm=FALSE,deff=FALSE) 
svrepmean(x, design, na.rm=FALSE, rho=NULL, return.replicates=FALSE, deff=FALSE) 
svyvar(x, design, na.rm=FALSE) 
svrepvar(x, design, na.rm=FALSE, rho=NULL, return.replicates=FALSE) 
svytotal(x, design, na.rm=FALSE,deff=FALSE) 
svreptotal(x, design, na.rm=FALSE, rho=NULL, return.replicates=FALSE, deff=FALSE) 

Arguments

x A formula, vector or matrix
design survey.design or svyrep.design object
na.rm Should missing values be removed?
rho parameter for Fay's variance estimator in a BRR design
return.replicates Return the replicate means?
deff Return the design effect

Details

These functions perform weighted estimation, with each observation being weighted by the inverse of its sampling probability. Except for the table functions, these also give precision estimates that incorporate the effects of stratification and clustering.

The svytotal and svreptotal functions estimate a population total. Use predict on svyratio, svrepratio, svyglm, svrepglm to get ratio or regression estimates of totals.

The design effect compares the variance of a mean or total to the variance of a simple random sample of the same size. Although strictly speaking this should be a simple random sample without replacement, we compute as if it were a simple random sample with replacement.

Value

Objects of class "svystat" or "svrepstat", which are vectors with a "var" attribute giving the variance and a "statistic" attribute giving the name of the statistic.

Author(s)

Thomas Lumley

See Also

svydesign, as.svrepdesign, svrepdesign, svyCprod, mean, var, svyquantile

Examples


  data(api)
  ## population
  mean(apipop$api00)
  quantile(apipop$api00,c(.25,.5,.75))
  var(apipop$api00)
  sum(apipop$enroll)
  sum(apipop$api.stu)/sum(apipop$enroll)

  ## one-stage cluster sample
  dclus1<-svydesign(id=~dnum, weights=~pw, data=apiclus1, fpc=~fpc)
  summary(dclus1)
  svymean(~api00, dclus1, deff=TRUE)
  svyquantile(~api00, dclus1, c(.25,.5,.75))
  svyvar(~api00, dclus1)
  svytotal(~enroll, dclus1, deff=TRUE)
  svyratio(~api.stu, ~enroll, dclus1)

  #stratified sample
  dstrat<-svydesign(id=~1, strata=~stype, weights=~pw, data=apistrat, fpc=~fpc)
  summary(dstrat)
  svymean(~api00, dstrat)
  svyquantile(~api00, dstrat, c(.25,.5,.75))
  svyvar(~api00, dstrat)
  svytotal(~enroll, dstrat)
  svyratio(~api.stu, ~enroll, dstrat)

  # replicate weights - jackknife (this is slow)
  jkstrat<-as.svrepdesign(dstrat)
  summary(jkstrat)
  svrepmean(~api00, jkstrat)
  svrepvar(~api00,jkstrat)
  svrepquantile(~api00, jkstrat, c(.25,.5,.75))
  svreptotal(~enroll, jkstrat)
  svrepratio(~api.stu, ~enroll, jkstrat)

  # BRR method
  data(scd)
  repweights<-2*cbind(c(1,0,1,0,1,0), c(1,0,0,1,0,1), c(0,1,1,0,0,1),
              c(0,1,0,1,1,0))
  scdrep<-svrepdesign(data=scd, type="BRR", repweights=repweights)
  svrepmean(~arrests+alive, design=scdrep)

 

[Package Contents]