Learn R Programming

tab (version 2.1.3)

tabfreq.svy: Generate Frequency Tables for Statistical Reports (Survey Data)

Description

This function creates an I-by-J frequency table and summarizes the results in a clean table for a statistical report. Similar to tabfreq, but for survey data. Relies heavily on the 'survey' package [1,2].

Usage

tabfreq.svy(x, y, svy, latex = FALSE, xlevels = NULL, yname = "Y variable", 
            ylevels = NULL, test = "F", decimals = 1, p.decimals = c(2, 3), 
            p.cuts = 0.01, p.lowerbound = 0.001, p.leading0 = TRUE, 
            p.avoid1 = FALSE, n = FALSE, compress = FALSE)

Arguments

svy
Survey design object created by a call to svydesign [1,2].
x
Character string specifying column variable name. Must match one of names(svy$variables).
y
Character string specifying row variable name. Must match one of names(svy$variables).
latex
If TRUE, object returned will be formatted for printing in LaTeX using xtable [3]; if FALSE, it will be formatted for copy-and-pasting from RStudio into a word processor.
xlevels
Optional character vector to label the levels of x. If unspecified, the function uses the values that x takes on.
yname
Optional label for the y (row) variable.
ylevels
Optional character vector to label the levels of y. If unspecified, the function uses the values that y takes on.
test
Controls test for association between x and y. Must be a possible value for the 'statistic' input of the svychisq function in the survey package [1,2]: 'F', 'Chisq', 'Wald', 'adjWald', 'lincom', or 'saddlepoint'.
decimals
Number of decimal places for percentages.
p.decimals
Number of decimal places for p-values. If a vector is provided rather than a single value, number of decimal places will depend on what range the p-value lies in. See p.cuts input.
p.cuts
Cut-point(s) to control number of decimal places used for p-values. For example, by default p.cuts is 0.1 and p.decimals is c(2, 3). This means that p-values in the range [0.1, 1] will be printed to two decimal places, while p-values in the range [0, 0.1)
p.lowerbound
Controls cut-point at which p-values are no longer printed as their value, but rather
p.leading0
If TRUE, p-values are printed with 0 before decimal place; if FALSE, the leading 0 is omitted.
p.avoid1
If TRUE, p-values rounded to 1 are not printed as 1, but as >0.99 (or similarly depending on values for p.decimals and p.cuts).
n
If TRUE, the table will have a column for sample size.
compress
If y has only two levels, setting compress to TRUE will produce a single row for n (percent) for the higher level. For example, if y is gender with 0 for female, 1 for male, setting compress = TRUE will return a table with n (percent) for males only.

Value

  • A character matrix with the requested frequency table. If you click on the matrix name under "Data" in the RStudio Workspace tab, you will see a clean table that you can copy and paste into a statistical report or manuscript. If latex is set to TRUE, the character matrix will be formatted for inserting into an Sweave or Knitr report using the xtable package [3].

Details

NA

References

1. Lumley T (2012). survey: analysis of complex survey samples. R package version 3.28-2, http://CRAN.R-project.org/package=survey. 2. Lumley T (2014). Analysis of complex survey samples. Journal of Statistical Software 9(1): 1-19. 3. Dahl DB (2013). xtable: Export tables to LaTeX or HTML. R package version 1.7-1, http://CRAN.R-project.org/package=xtable. Acknowledgment: This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE-0940903.

See Also

svydesign svyglm svychisq tabfreq, tabmeans, tabmedians, tabmulti, tabglm, tabcox, tabgee, tabmeans.svy, tabglm.svy,

Examples

Run this code
NA

Run the code above in your browser using DataLab