table                  package:base                  R Documentation

Cross Tabulation

Description:

     `table' uses the cross-classifying factors to build a contingency
     table of the counts at each combination of factor levels.

Usage:

     table(..., exclude = c(NA, NaN), dnn, deparse.level = 1)
     as.table(x, ...)
     is.table(x)
     as.data.frame.table(x, row.names = NULL, optional = FALSE, ...)

Arguments:

     ...: objects which can be interpreted as factors (including
          character strings), or a list (or data frame) whose
          components can be so interpreted

 exclude: values to use in the exclude argument of `factor' when
          interpreting non-factor objects

     dnn: the names to be given to the dimensions in the result (`the
          dimname names').

deparse.level: controls how the default `dnn' is constructed.  See
          details.

       x: an arbitrary R object.

row.names: a character vector giving the row names for the data frame.

optional: a logical controlling whether row names are set. Currently
          not used.

Details:

     If the argument `dnn' is not supplied, the internal function
     `list.names' is called to compute the `dimname names'.  If the
     arguments in `...' are named, those names are used.  For the
     remaining arguments, `deparse.level = 0' gives an empty name,
     `deparse.level = 1' uses the supplied argument if it is a symbol,
     and `deparse.level = 2' will deparse the argument.

     There is a `summary' method for contingency table objects created
     by `table' or `xtabs', which gives basic information and performs
     a chi-squared test for independence of factors (note that the
     function `chisq.test' in package ctest currently only handles 2-d
     tables).

     `as.table' and `is.table' coerce to and test for contingency
     table, respectively.

     `as.data.frame.table' is a method for the generic function
     `as.data.frame' to convert the array-based representation of a
     contingency table to a data frame containing the classifying
     factors and the corresponding counts (the latter as component
     `Freq'). This is the inverse of `xtabs'.

Examples:

     ## Simple frequency distribution
     table(rpois(100,5))
     data(warpbreaks)
     attach(warpbreaks)
     ## Check the design:
     table(wool, tension)
     data(state)
     table(state.division, state.region)

     data(airquality)
     attach(airquality)
     # simple two-way contingency table
     table(cut(Temp, quantile(Temp)), Month)

     a <- letters[1:3]
     table(a, sample(a))                    # dnn is c("a", "")
     table(a, sample(a), deparse.level = 0) # dnn is c("", "")
     table(a, sample(a), deparse.level = 2) # dnn is c("a", "sample(a)")

     ## xtabs() <-> as.data.frame.table() :
     data(UCBAdmissions) ## already a contingency table
     DF <- as.data.frame(UCBAdmissions)
     class(tab <- xtabs(Freq ~ ., DF))# xtabs & table
     ## tab *is* ``the same'' as the original table:
     all(tab == UCBAdmissions) 
     all.equal(dimnames(tab), dimnames(UCBAdmissions))

