read.ftable {stats} | R Documentation |
Manipulate Flat Contingency Tables
Description
Read, write and coerce ‘flat’ (contingency) tables, aka
ftable
s.
Usage
read.ftable(file, sep = "", quote = "\"",
row.var.names, col.vars, skip = 0)
write.ftable(x, file = "", quote = TRUE, append = FALSE,
digits = getOption("digits"), sep = " ", ...)
## S3 method for class 'ftable'
format(x, quote = TRUE, digits = getOption("digits"),
method = c("non.compact", "row.compact", "col.compact", "compact"),
lsep = " | ",
justify = c("left", "right"),
...)
## S3 method for class 'ftable'
print(x, digits = getOption("digits"), ...)
Arguments
file |
either a character string naming a file or a |
sep |
the field separator string. Values on each line of the file are separated by this string. |
quote |
a character string giving the set of quoting characters
for |
row.var.names |
a character vector with the names of the row variables, in case these cannot be determined automatically. |
col.vars |
a list giving the names and levels of the column variables, in case these cannot be determined automatically. |
skip |
the number of lines of the data file to skip before beginning to read data. |
x |
an object of class |
append |
logical. If |
digits |
an integer giving the number of significant digits to
use for (the cell entries of) |
method |
string specifying how the
|
lsep |
only for |
justify |
|
... |
further arguments to be passed to or
from methods; for |
Details
read.ftable
reads in a flat-like contingency table from a
file. If the file contains the written representation of a flat
table (more precisely, a header with all information on names and
levels of column variables, followed by a line with the names of the
row variables), no further arguments are needed. Similarly, flat
tables with only one column variable the name of which is the only
entry in the first line are handled automatically. Other variants can
be dealt with by skipping all header information using skip
,
and providing the names of the row variables and the names and levels
of the column variable using row.var.names
and col.vars
,
respectively. See the examples below.
Note that flat tables are characterized by their ‘ragged’
display of row (and maybe also column) labels. If the full grid of
levels of the row variables is given, one should instead use
read.table
to read in the data, and create the
contingency table from this using xtabs
.
write.ftable
writes a flat table to a file, which is useful for
generating ‘pretty’ ASCII representations of contingency
tables. Different versions are available via the method
argument, which may be useful, for example, for constructing LaTeX tables.
References
Agresti, A. (1990) Categorical data analysis. New York: Wiley.
See Also
ftable
for more information on flat contingency tables.
Examples
## Agresti (1990), page 157, Table 5.8.
## Not in ftable standard format, but o.k.
file <- tempfile()
cat(" Intercourse\n",
"Race Gender Yes No\n",
"White Male 43 134\n",
" Female 26 149\n",
"Black Male 29 23\n",
" Female 22 36\n",
file = file)
file.show(file)
ft1 <- read.ftable(file)
ft1
unlink(file)
## Agresti (1990), page 297, Table 8.16.
## Almost o.k., but misses the name of the row variable.
file <- tempfile()
cat(" \"Tonsil Size\"\n",
" \"Not Enl.\" \"Enl.\" \"Greatly Enl.\"\n",
"Noncarriers 497 560 269\n",
"Carriers 19 29 24\n",
file = file)
file.show(file)
ft <- read.ftable(file, skip = 2,
row.var.names = "Status",
col.vars = list("Tonsil Size" =
c("Not Enl.", "Enl.", "Greatly Enl.")))
ft
unlink(file)
ft22 <- ftable(Titanic, row.vars = 2:1, col.vars = 4:3)
write.ftable(ft22, quote = FALSE) # is the same as
print(ft22)#method="non.compact" is default
print(ft22, method="row.compact")
print(ft22, method="col.compact")
print(ft22, method="compact")
## using 'justify' and 'quote' :
format(ftable(wool + tension ~ breaks, warpbreaks),
justify = "none", quote = FALSE)