CrossTable | R Documentation |
An implementation of a cross-tabulation function with output similar to S-Plus crosstabs() and SAS Proc Freq (or SPSS format) with Chi-square, Fisher and McNemar tests of the independence of all table factors.
CrossTable(x, y,
digits = list(expected = 1, prop = 3, percent = 1, others = 3),
max.width = NA, expected = FALSE,
prop.r = TRUE, prop.c = TRUE, prop.t = TRUE,
prop.chisq = TRUE, chisq = FALSE, fisher = FALSE,
mcnemar = FALSE, resid = FALSE, sresid = FALSE,
asresid = FALSE, missing.include = FALSE,
drop.levels = TRUE, format = c("SAS","SPSS"),
dnn = NULL, cell.layout = TRUE,
row.labels = !cell.layout,
percent = (format == "SPSS" && !row.labels),
total.r, total.c, xlab = NULL, ylab = NULL, ...)
x |
A vector or a matrix. If y is specified, x must be a vector. |
y |
A vector in a matrix or a dataframe. |
digits |
Named list with number of digits after the decimal point for four categories of statistics: expected values, cell proportions, percentage and others statistics. It can also be a numeric vector with a single number if you want the same number of digits in all statistics. |
max.width |
In the case of a 1 x n table, the default will be to print the output horizontally. If the number of columns exceeds max.width, the table will be wrapped for each successive increment of max.width columns. If you want a single column vertical table, set max.width to 1. |
prop.r |
If |
prop.c |
If |
prop.t |
If |
expected |
If |
prop.chisq |
If |
chisq |
If |
fisher |
If |
mcnemar |
If |
resid |
If |
sresid |
If |
asresid |
If |
missing.include |
If |
drop.levels |
If |
format |
Either SAS (default) or SPSS, depending on the type of output desired. |
dnn |
The names to be given to the dimensions in the result (the dimnames names). |
cell.layout |
If |
row.labels |
If |
percent |
A logical value indicating whether to add the percentage symbol ‘prop.r’, ‘prop.c’ and ‘prop.t’ if ‘format’ is ‘"SPSS"’. |
.
total.r |
If |
total.c |
If |
xlab |
A title for the x axis when plotting the CrossTable object (see
|
ylab |
A title for the y axis when plotting the CrossTable object (see
|
... |
Optional arguments passed to |
A summary table will be generated with cell row, column and table proportions and marginal totals and proportions. Expected cell counts can be printed if desired. In the case of a 2 x 2 table, both corrected and uncorrected values will be included for appropriate tests. In the case of tabulating a single vector, cell counts and table proportions will be printed.
Note 1: If 'x' is a vector and 'y' is not specified, no statistical tests
will be performed, even if any are set to TRUE
.
Note 2: 'x' and 'y' labels will be truncated if the table is not going to
fit to the screen, according to the value of getOption("width")
.
If both arguments ‘total.c’ and ‘total.r’ are missing, both will
be TRUE
. If only one of them is missing, the other will have the same
value of the not missing one.
A list of class CrossTable
containing parameters used by the
print.CrossTable
method and the following components:
tab: An n by m matrix containing table cell counts.
prop.row: An n by m matrix containing cell row proportions.
prop.col: An n by m matrix containing cell column proportions.
prop.tbl: An n by m matrix containing cell table proportions.
chisq: Results from the Chi-Square test. A list with class 'htest'.
See chisq.test
for details.
chisq.corr: Results from the corrected Chi-Square test. A list with class
'htest'. See chisq.test
for details. ONLY included in
the case of a 2 x 2 table.
fisher.ts: Results from the two-sided Fisher Exact test. A list with
class 'htest'. See fisher.test
for details. ONLY
included if 'fisher' = TRUE.
fisher.lt: Results from the Fisher Exact test with HA = "less". A list
with class 'htest'. See fisher.test
for details. ONLY
included if 'fisher' = TRUE and in the case of a 2 x 2 table.
fisher.gt: Results from the Fisher Exact test with HA = "greater". A list
with class 'htest'. See fisher.test
for details. ONLY
included if 'fisher' = TRUE and in the case of a 2 x 2 table.
mcnemar: Results from the McNemar test. A list with class 'htest'. See
mcnemar.test
for details. ONLY included if 'mcnemar' =
TRUE.
mcnemar.corr: Results from the corrected McNemar test. A list with class
'htest'. See mcnemar.test
for details. ONLY included if
'mcnemar' = TRUE and in the case of a 2 x 2 table.
resid/sresid/asresid: Pearson Residuals (from chi-square tests).
Jakson Aquino jalvesaq@gmail.com has splited the function
CrossTable
(from the package gmodels
) in two:
CrossTable
and print.CrossTable
. The gmodels
's function
was developed by Marc Schwartz (original version posted to r-devel on Jul
27, 2002. SPSS format modifications added by Nitin Jain based upon code
provided by Dirk Enzmann).
crosstab
(a wrapper to ‘CrossTable’ that makes it
easier to do a weighted contingency table), plot.CrossTable
,
forODFTable
, table
,
prop.table
, xtabs
.
# Simple cross tabulation of education versus prior induced
# abortions using infertility data
data(warpbreaks, package = "datasets")
ct <- CrossTable(warpbreaks$wool, warpbreaks$tension,
dnn = c("Wool", "Tension"))
data(esoph, package = "datasets")
ct <- CrossTable(esoph$alcgp, esoph$agegp, expected = TRUE,
chisq = FALSE, prop.chisq = FALSE,
dnn = c("Alcohol consumption", "Tobacco consumption"))
plot(ct, inv.y = TRUE)
print(ct)
# While printing the object, you can replace some (but not all)
# arguments previously passed to CrossTable
print(ct, format = "SPSS", cell.layout = FALSE, row.labels = TRUE)
# For better examples, including the use of xtable,
# see the documentation of crosstab().
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.