Creates a table comparing multiple characteristics (e.g. median age, mean
BMI, and race/ethnicity distribution) across levels of x
.
tabmulti.svy(formula = NULL, design, xvarname = NULL,
yvarnames = NULL, ymeasures = NULL, columns = c("xgroups", "p"),
listwise.deletion = FALSE, sep.char = ", ", xlevels = NULL,
yvarlabels = NULL, ylevels = NULL, indent.spaces = 3,
latex = TRUE, decimals = NULL, formatp.list = NULL,
n.headings = FALSE, N.headings = FALSE, print.html = FALSE,
html.filename = "table1.html", tabmeans.svy.list = NULL,
tabmedians.svy.list = NULL, tabfreq.svy.list = NULL)
Formula, e.g. Age + Race + BMI ~ Sex
.
Survey design object from svydesign
.
Character string with name of column variable. Should be one
of names(design$variables)
.
Character vector with names of row variables. Each element
should be one of names(design$variables)
.
Character vector specifying whether each y
variable
should be summarized by mean, median, or frequency. For example, if you want
to compare frequencies for the first variable, means for the second, and
medians for the third, you would set
ymeasures = c("freq", "mean", "median")
. If unspecified, function
compares means for numeric variables and frequencies for factor and character
variables.
Character vector specifying what columns to include. Choices
for each element are "n"
for unweighted sample size, "N"
for
weighted sample size, "overall"
for overall statistics,
"xgroups"
for x
group statistics, and "p"
for p-value.
Logical value for whether observations with missing
values for any y
variable should be excluded entirely (as opposed to
using all available data for each comparison).
Character string with separator to place between lower and
upper bound of confidence intervals. Typically "-"
or ", "
.
Character vector with labels for the levels of x
, used
in column headings.
Named list specifying labels for certain y
variables. For example, if you want variables named "race" and "age_yrs" to
print as "Race/ethnicity" and "Age (years)", use
\codeyvarlabels = list(race = "Race/ethnicity", age_yrs = "Age (years)").
Character vector (if only 1 frequency comparison) or list of
character vectors with labels for the levels of each categorical y
variable.
Integer value specifying how many spaces to indent factor levels.
Numeric vector specifying number of decimal places for
numbers other than p-values for each y
variable. Can be a single value
to use for all y
variables.
List of arguments to pass to formatp
.
Logical value for whether to display unweighted sample sizes in parentheses in column headings.
Logical value for whether to display weighted sample sizes in parentheses in column headings.
Logical value for whether to write a .html file with the table to the current working directory.
Character string specifying the name of the .html file
that gets written if print.html = TRUE
.
List of arguments to pass to
tabmeans.svy
.
List of arguments to pass to
tabmedians.svy
.
List of arguments to pass to
tabfreq.svy
.
Data frame which you can print in R (e.g. with xtable's
xtable
or knitr's kable
)
or export to Word, Excel, or some other program. To export the table, set
print.html = TRUE
. This will result in a .html file being written to
your current working directory, which you can open and copy/paste into your
document.
Basically tabmulti
for complex survey data. Relies heavily on
the survey package.
# NOT RUN {
# Create survey design object
library("survey")
design <- svydesign(
data = tabsvydata,
ids = ~sdmvpsu,
strata = ~sdmvstra,
weights = ~wtmec2yr,
nest = TRUE
)
# Compare age, race, and BMI by sex
tabmulti.svy(Age + Race + BMI ~ Sex, design = design) %>% kable()
# }
Run the code above in your browser using DataLab