as_survey
can be used to create a tbl_svy
using design information
(as_survey_design
), replicate weights (as_survey_rep
),
or a two phase design (as_survey_twophase
), or an object created by the
survey package.
as_survey(.data, ...)
# S3 method for tbl_svy
as_survey(.data, ...)
# S3 method for data.frame
as_survey(.data, ...)
# S3 method for tbl_lazy
as_survey(.data, ...)
# S3 method for survey.design2
as_survey(.data, ...)
# S3 method for svyrep.design
as_survey(.data, ...)
# S3 method for twophase2
as_survey(.data, ...)
a data.frame or an object from the survey package
other arguments, see other functions for details
a tbl_svy
See vignette("databases", package = "dplyr")
for more information on setting up databases in dplyr.
# Examples from ?survey::svydesign
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
library(dplyr)
#>
#> Attaching package: ‘dplyr’
#> The following objects are masked from ‘package:stats’:
#>
#> filter, lag
#> The following objects are masked from ‘package:base’:
#>
#> intersect, setdiff, setequal, union
data(api)
# stratified sample
dstrata <- apistrat %>%
as_survey(strata = stype, weights = pw)
# Examples from ?survey::svrepdesign
data(scd)
# use BRR replicate weights from Levy and Lemeshow
scd$rep1 <- 2 * c(1, 0, 1, 0, 1, 0)
scd$rep2 <- 2 * c(1, 0, 0, 1, 0, 1)
scd$rep3 <- 2 * c(0, 1, 1, 0, 0, 1)
scd$rep4 <- 2 * c(0, 1, 0, 1, 1, 0)
scdrep <- scd %>%
as_survey(type = "BRR", repweights = starts_with("rep"),
combined_weights = FALSE)
#> Warning: No sampling weights provided: equal probability assumed
# Examples from ?survey::twophase
# two-phase simple random sampling.
data(pbc, package="survival")
pbc <- pbc %>%
mutate(randomized = !is.na(trt) & trt > 0,
id = row_number())
d2pbc <- pbc %>%
as_survey(id = list(id, id), subset = randomized)
# dplyr 0.7 introduced new style of NSE called quosures
# See `vignette("programming", package = "dplyr")` for details
st <- quo(stype)
wt <- quo(pw)
dstrata <- apistrat %>%
as_survey(strata = !!st, weights = !!wt)