surveytable
is an R package for conveniently tabulating estimates from complex surveys.
If you deal with survey objects in R (created with
survey::svydesign()
), then this package is for you.Works with complex surveys (data systems that involve survey design variables, like weights and strata).
Works with unweighted data as well.
The
surveytable
package provides short and understandable commands that generate tabulated, formatted, and rounded survey estimates.-
With
surveytable
, you can- tabulate estimated counts and percentages, with their standard errors and confidence intervals,
- estimate the total population,
- tabulate survey subsets and variable interactions,
- tabulate numeric variables,
- perform hypothesis tests,
- tabulate rates,
- modify survey variables, and
- save the output.
Optionally, all of the tabulation functions can identify low-precision estimates using the National Center for Health Statistics (NCHS) algorithms (or other algorithms).
If the
surveytable
code is called from an R Markdown notebook or a Quarto document, it automatically generates HTML or PDF tables, as appropriate.The package reduces the number of commands that users need to execute, which is especially helpful for users new to R or to programming.
Installation
Install from CRAN:
install.packages("surveytable")
or get the development version from GitHub:
install.packages(c("remotes", "git2r"))
remotes::install_github("CDCgov/surveytable", upgrade = "never")
Documentation
Find the documentation for surveytable
here: https://cdcgov.github.io/surveytable/
Example
Here is a basic example, to get you started.
- Load the package:
- Specify the survey that you wish you analyze.
surveytable
comes with a survey callednamcs2019sv
, for use in examples.
set_survey(namcs2019sv)
Survey info {NAMCS 2019 PUF} | ||
Variables | Observations | Design |
---|---|---|
- Specify the variable to analyze. In NAMCS,
AGER
is the age category variable:
tab("AGER")
Patient age recode {NAMCS 2019 PUF} | |||||||||
Level | n | Number | SE | LL | UL | Percent | SE | LL | UL |
---|---|---|---|---|---|---|---|---|---|
N = 8250. |
The table shows:
- Descriptive variable name
- Survey name
- For each level of the variable:
- Number of observations
- Estimated count with its SE and 95% CI
- Estimated percentage with its SE and 95% CI
- Sample size
- Optionally, the table can show whether any low-precision estimates were found
Public Domain Standard Notice
This repository constitutes a work of the United States Government and is not subject to domestic copyright protection under 17 USC § 105. This repository is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication. All contributions to this repository will be released under the CC0 dedication. By submitting a pull request you are agreeing to comply with this waiver of copyright interest.
License Standard Notice
The repository utilizes code licensed under the terms of the Apache Software License and therefore is licensed under ASL v2 or later.
This source code in this repository is free: you can redistribute it and/or modify it under the terms of the Apache Software License version 2, or (at your option) any later version.
This source code in this repository is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Apache Software License for more details.
You should have received a copy of the Apache Software License along with this program. If not, see https://www.apache.org/licenses/LICENSE-2.0.html
The source code forked from other open source projects will inherit its license.
Privacy Standard Notice
This repository contains only non-sensitive, publicly available data and information. All material and community participation is covered by the Disclaimer and Code of Conduct. For more information about CDC’s privacy policy, please visit https://www.cdc.gov/other/privacy.html.
Contributing Standard Notice
Anyone is encouraged to contribute to the repository by forking and submitting a pull request. (If you are new to GitHub, you might start with a basic tutorial.) By contributing to this project, you grant a world-wide, royalty-free, perpetual, irrevocable, non-exclusive, transferable license to all users under the terms of the Apache Software License v2 or later.
All comments, messages, pull requests, and other submissions received through CDC including this GitHub page may be subject to applicable federal law, including but not limited to the Federal Records Act, and may be archived. Learn more at https://www.cdc.gov/other/privacy.html.
Records Management Standard Notice
This repository is not a source of government records, but is a copy to increase collaboration and collaborative potential. All government records will be published through the CDC web site.
Additional Standard Notices
Please refer to CDC’s Template Repository for more information about contributing to this repository, public domain notices and disclaimers, and code of conduct.