Description Usage Arguments Details Value Note Author(s) References See Also Examples
This function basically provides an alternative to making multiple calls to
tabmeans
, tabmedians
, and tabfreq
,
then using rbind
to combine the results into a single table.
1 2 3 4 5 6 7 8 9 10 11 12 13 | tabmulti(dataset, xvarname, yvarnames, ymeasures = NULL,
listwise.deletion = TRUE, latex = FALSE, xlevels = NULL,
ynames = yvarnames, ylevels = NULL, quantiles = NULL,
quantile.vals = FALSE, parenth.sep = "-", cell = "n",
freq.parenth = NULL, freq.text.label = NULL, freq.tests = "chi",
means.parenth = "sd", means.text.label = NULL, variance = "unequal",
medians.parenth = "iqr", medians.text.label = NULL, decimals = NULL,
p.include = TRUE, p.decimals = c(2, 3), p.cuts = 0.01,
p.lowerbound = 0.001, p.leading0 = TRUE, p.avoid1 = FALSE,
overall.column = TRUE, n.column = FALSE, n.headings = TRUE,
compress = FALSE, bold.colnames = TRUE, bold.varnames = FALSE,
bold.varlevels = FALSE, variable.colname = "Variable",
print.html = FALSE, html.filename = "table1.html")
|
dataset |
Data frame or matrix containing variables of interest. |
xvarname |
Character string with name of column variable. Should be one of
|
yvarnames |
Character vector with names of row variables. Each element should be one of
|
ymeasures |
Character string or vector of character strings indicating whether each |
listwise.deletion |
If |
latex |
If |
xlevels |
Optional character vector to label the levels of |
ynames |
Optional labels for the |
ylevels |
Character vector or list of character vectors to label the levels of the
categorical |
quantiles |
If specified, function compares |
quantile.vals |
If |
parenth.sep |
Optional character specifying the separator between first and second numbers in
parentheses (e.g. lower and upper bound of confidence intervals, when
requested). Usually either |
cell |
Controls what values are placed in cells for frequency comparisons. Possible
values are |
freq.parenth |
Controls what values (if any) are placed in parentheses after the values in each
cell for frequency comparisons. By default, if |
freq.text.label |
Optional text to put after the |
freq.tests |
Character string or vector of character strings indicating what statistical
tests should be used to compare distributions of each categorical |
means.parenth |
Controls what values (if any) are placed in parentheses after the means in each
cell for mean comparisons. Possible values are |
means.text.label |
Optional text to put after the |
variance |
Controls whether equal variance t-test or unequal variance t-test is used for
mean comparisons when |
medians.parenth |
Controls what values (if any) are placed in parentheses after the medians in
each cell for median comparisons. Possible values are |
medians.text.label |
Optional text to put after the |
decimals |
Numeric value or vector of numeric values indicating how many decimal places
should be used in reporting statistics for each |
p.include |
If |
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 |
Cut-point(s) to control number of decimal places used for p-values. For example,
by default |
p.lowerbound |
Controls cut-point at which p-values are no longer printed as their value, but
rather <lowerbound. For example, by default |
p.leading0 |
If |
p.avoid1 |
If |
overall.column |
If |
n.column |
If |
n.headings |
If |
compress |
If |
bold.colnames |
If |
bold.varnames |
If |
bold.varlevels |
If |
variable.colname |
Character string with desired heading for first column of table, which shows the
|
print.html |
If |
html.filename |
Character string indicating the name of the .html file that gets printed if
|
See help files for tabmeans
, tabmedians
, and
tabfreq
for details on statistical tests.
A character matrix comparing means/medians/frequencies of y
variables
across levels of the x
variable. If latex = TRUE
, the character
matrix will be formatted for inserting into a Markdown/Sweave/knitr report using
the xtable
package [1].
If you wish to paste your tables into Word, you can use either of these approaches:
1. Use the write.cb
function in the Kmisc
package
[2]. If your table is stored in a character matrix named table1
, use
write.cb(table1)
to copy the table to your clipboard. Paste the result
into Word, then highlight the text and go to Insert - Table - Convert Text
to Table... OK
.
2. Set print.html = TRUE
. This will result in a .html file writing to
your current working directory. When you open this file, you will see a nice
looking table that you can copy and paste into Word. You can control the name of
this file with html.filename
.
If you wish to use LaTeX, R Markdown, knitr, Sweave, etc., set
latex = TRUE
and then use xtable
[1]. You may have to set
sanitize.text.function = identity
when calling
print.xtable
.
If you have suggestions for additional options or features, or if you would like some help using any function in tab, please e-mail me at vandomed@gmail.com. Thanks!
Dane R. Van Domelen
1. Dahl DB (2013). xtable: Export tables to LaTeX or HTML. R package version 1.7-1, https://cran.r-project.org/package=xtable.
2. Kevin Ushey (2013). Kmisc: Kevin Miscellaneous. R package version 0.5.0. https://CRAN.R-project.org/package=Kmisc.
Acknowledgment: This material is based upon work supported by the National Science Foundation Graduate Research Fellowship under Grant No. DGE-0940903.
tabfreq
tabmeans
tabmedians
tabglm
tabcox
tabgee
tabfreq.svy
tabmeans.svy
tabmedians.svy
tabmulti.svy
tabglm.svy
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Load in sample dataset d
data(d)
# Compare age, sex, race, and BMI in control vs. treatment group
# data for each comparison
table1 <- tabmulti(dataset = d, xvarname = "Group",
yvarnames = c("Age", "Sex", "Race", "BMI"))
# Repeat, but use all available data for each comparison (as opposed to listwise
# deletion)
table2 <- tabmulti(dataset = d, xvarname = "Group", n.column = TRUE,
n.headings = FALSE,
yvarnames = c("Age", "Sex", "Race", "BMI"),
listwise.deletion = FALSE)
# Same as table1, but compare medians rather than means for BMI
table3 <- tabmulti(dataset = d, xvarname = "Group",
yvarnames = c("Age", "Sex", "Race", "BMI"),
ymeasures = c("mean", "freq", "freq", "median"))
|
Unequal variance t-test was used to compare mean Age in the two groups.
Pearson's chi-square test was used to test whether the distribution of Sex differed across groups.
Pearson's chi-square test was used to test whether the distribution of Race differed across groups.
Unequal variance t-test was used to compare mean BMI in the two groups.
Unequal variance t-test was used to compare mean Age in the two groups.
Pearson's chi-square test was used to test whether the distribution of Sex differed across groups.
Pearson's chi-square test was used to test whether the distribution of Race differed across groups.
Unequal variance t-test was used to compare mean BMI in the two groups.
Unequal variance t-test was used to compare mean Age in the two groups.
Pearson's chi-square test was used to test whether the distribution of Sex differed across groups.
Pearson's chi-square test was used to test whether the distribution of Race differed across groups.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.