table: Cross Tabulation and Table Creation (2024)

tableR Documentation

Description

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

Usage

table(..., exclude = if (useNA == "no") c(NA, NaN), useNA = c("no", "ifany", "always"), dnn = list.names(...), deparse.level = 1)as.table(x, ...)is.table(x)## S3 method for class 'table'as.data.frame(x, row.names = NULL, ..., responseName = "Freq", stringsAsFactors = TRUE, sep = "", base = list(LETTERS))

Arguments

...

one or more objects which can be interpreted as factors(including character strings), or a list (or data frame) whosecomponents can be so interpreted. (For as.table, argumentspassed to specific methods; for as.data.frame, unused.)

exclude

levels to remove for all factors in .... Ifit does not contain NA and useNA is notspecified, it implies useNA = "ifany". See‘Details’ for its interpretation for non-factor arguments.

useNA

whether to include NA values in the table.See ‘Details’. Can be abbreviated.

dnn

the names to be given to the dimensions in the result (thedimnames names).

deparse.level

controls how the default dnn isconstructed. See ‘Details’.

x

an arbitrary R object, or an object inheriting from class"table" for the as.data.frame method. Note thatas.data.frame.table(x, *) may be called explicitly fornon-table x for “reshaping” arrays.

row.names

a character vector giving the row names for the dataframe.

responseName

The name to be used for the column of tableentries, usually counts.

stringsAsFactors

logical: should the classifying factors bereturned as factors (the default) or character vectors?

sep, base

passed to provideDimnames.

Details

If the argument dnn is not supplied, the internal functionlist.names is called to compute the ‘dimname names’. If thearguments in ... are named, those names are used. For theremaining 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.

Only when exclude is specified (i.e., not by default) andnon-empty, will table potentially drop levels of factorarguments.

useNA controls if the table includes counts of NAvalues: the allowed values correspond to never ("no"), only if the count ispositive ("ifany") and even for zero counts ("always").Note the somewhat “pathological” case of two different kinds ofNAs which are treated differently, depending on bothuseNA and exclude, see d.patho in the‘Examples:’ below.

Both exclude and useNA operate on an “all or none”basis. If you want to control the dimensions of a multiway tableseparately, modify each argument using factor oraddNA.

Non-factor arguments a are coerced via factor(a, exclude=exclude). Since R 3.4.0, care is taken not tocount the excluded values (where they were included in the NAcount, previously).

The summary method for class "table" (used for objectscreated by table or xtabs) which gives basicinformation and performs a chi-squared test for independence offactors (note that the function chisq.test currentlyonly handles 2-d tables).

Value

table() returns a contingency table, an object ofclass "table", an array of integer values.Note that unlike S the result is always an array, a 1Darray if one factor is given.

as.table and is.table coerce to and test for contingencytable, respectively.

The as.data.frame method for objects inheriting from class"table" can be used to convert the array-based representationof a contingency table to a data frame containing the classifyingfactors and the corresponding entries (the latter as componentnamed by responseName). This is the inverse of xtabs.

References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988)The New S Language.Wadsworth & Brooks/Cole.

See Also

tabulate is the underlying function and allows finercontrol.

Use ftable for printing (and more) ofmultidimensional tables. margin.table,prop.table, addmargins.

addNA for constructing factors with NA asa level.

xtabs for cross tabulation of data frames with aformula interface.

Examples

require(stats) # for rpois and xtabs## Simple frequency distributiontable(rpois(100, 5))## Check the design:with(warpbreaks, table(wool, tension))table(state.division, state.region)# simple two-way contingency tablewith(airquality, 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() :UCBAdmissions ## already a contingency tableDF <- 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))a <- rep(c(NA, 1/0:3), 10)table(a) # does not report NA'stable(a, exclude = NULL) # reports NA'sb <- factor(rep(c("A","B","C"), 10))table(b)table(b, exclude = "B")d <- factor(rep(c("A","B","C"), 10), levels = c("A","B","C","D","E"))table(d, exclude = "B")print(table(b, d), zero.print = ".")## NA counting:is.na(d) <- 3:4d. <- addNA(d)d.[1:7]table(d.) # ", exclude = NULL" is not needed## i.e., if you want to count the NA's of 'd', usetable(d, useNA = "ifany")## "pathological" case:d.patho <- addNA(c(1,NA,1:2,1:3))[-7]; is.na(d.patho) <- 3:4d.patho## just 3 consecutive NA's ? --- well, have *two* kinds of NAs here :as.integer(d.patho) # 1 4 NA NA 1 2#### In R >= 3.4.0, table() allows to differentiate:table(d.patho) # counts the "unusual" NAtable(d.patho, useNA = "ifany") # counts all threetable(d.patho, exclude = NULL) # (ditto)table(d.patho, exclude = NA) # counts none## Two-way tables with NA counts. The 3rd variant is absurd, but shows## something that cannot be done using exclude or useNA.with(airquality, table(OzHi = Ozone > 80, Month, useNA = "ifany"))with(airquality, table(OzHi = Ozone > 80, Month, useNA = "always"))with(airquality, table(OzHi = Ozone > 80, addNA(Month)))
table: Cross Tabulation and Table Creation (2024)
Top Articles
Stock market today: Asian shares dive after a wipeout on Wall Street as Big Tech skids
15 Banks and Credit Unions that Exchange Foreign Currencies
Fiat 600e: Dolce Vita auf elektrisch
Hk Jockey Club Result
Best Jewelry Laser Engraving Machine to Elevate Your Design
Delta Air Lines - Login
A Qué Hora Cierran Spectrum
Survivor Australia Wiki
Teamsideline Manatee
Gwenson Mallory Crutcher
Teacup Parti Yorkies For Sale Near Me
Large Storage Unit Nyt Crossword
Ups Cc Center
Www Craigslist Com Pueblo Co
Lowes Maytag Pet Pro Commercial Actress
Exquisitely Stuffed Terraria
Amazing Lash Bay Colony
Downloahub
Rubmaps Springfield
Does Publix Sell Sephora Gift Cards
Espn College Basketball Scores
Baddiehub Cover
When Is Moonset Tonight
6 Beste EN Nuud Kortingscode | Tot 55% korting | September 2024
Nike Factory Store - Howell Photos
Provo Craigslist
Nickelodeon Home Media
Ts Central Nj
Best Upscale Restaurants In Denver
Bank Of America Operating Hours Today
Helas Kitchen Menu
Did Taylor Swift Date Greg Gutfeld
Boise Craigslist Cars And Trucks - By Owner
Porter House Ink Photos
N9K-C9372Px E Eol
La Monja 2 Pelicula Completa Tokyvideo
Bianca Censo
Sprague Brook Park Camping Reservations
Kytty_Keeet
Palmetto Pediatrics Westside
Plusword 358
Cetaphil Samples For Providers
8569 Marshall St, Merrillville, IN 46410 - MLS 809825 - Coldwell Banker
Craigslist Ri Rhode Island
Reli Stocktwits
Lbl A-Z
Discord Id Grabber
Craigslist Free Stuff Bellingham
Netspar on LinkedIn: Netspar is pleased to announce the next Netspar Pension Day, which will…
1Wangrui4
Eugenics Apush
Lenscrafters Westchester Mall
Latest Posts
Article information

Author: Duncan Muller

Last Updated:

Views: 5768

Rating: 4.9 / 5 (79 voted)

Reviews: 86% of readers found this page helpful

Author information

Name: Duncan Muller

Birthday: 1997-01-13

Address: Apt. 505 914 Phillip Crossroad, O'Konborough, NV 62411

Phone: +8555305800947

Job: Construction Agent

Hobby: Shopping, Table tennis, Snowboarding, Rafting, Motor sports, Homebrewing, Taxidermy

Introduction: My name is Duncan Muller, I am a enchanting, good, gentle, modern, tasty, nice, elegant person who loves writing and wants to share my knowledge and understanding with you.