table function - RDocumentation (2024)

Description

table uses the cross-classifying factors to build a contingency table 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 tableas.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) whose components can be so interpreted. (For as.table, arguments passed to specific methods; for as.data.frame, unused.)

exclude

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

dnn

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

deparse.level

controls how the default dnn is constructed. See ‘Details’.

x

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

row.names

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

responseName

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

stringsAsFactors

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

sep, base

passed to provideDimnames.

Value

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

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

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

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.

Only when exclude is specified (i.e., not by default) and non-empty, will table potentially drop levels of factor arguments.

useNA controls if the table includes counts of NA values: the allowed values correspond to never ("no"), only if the count is positive ("ifany") and even for zero counts ("always"). Note the somewhat “pathological” case of two different kinds of NAs which are treated differently, depending on both useNA 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 table separately, modify each argument using factor or addNA.

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

The summary method for class "table" (used for 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 currently only handles 2-d tables).

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 finer control.

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

addNA for constructing factors with NA as a level.

xtabs for cross tabulation of data frames with a formula interface.

Examples

Run this code

# NOT RUN {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)))# }

Run the code above in your browser using DataLab

table function - RDocumentation (2024)
Top Articles
Mission Liquor Van Nuys
Priority Pass - Uitgebreide Airport Lounge Handleiding 2024
Dainty Rascal Io
$4,500,000 - 645 Matanzas CT, Fort Myers Beach, FL, 33931, William Raveis Real Estate, Mortgage, and Insurance
Kevin Cox Picks
No Limit Telegram Channel
Unblocked Games Premium Worlds Hardest Game
Lifebridge Healthstream
Get train & bus departures - Android
Health Benefits of Guava
Otterbrook Goldens
Apply A Mudpack Crossword
Craigslist Estate Sales Tucson
Cranberry sauce, canned, sweetened, 1 slice (1/2" thick, approx 8 slices per can) - Health Encyclopedia
Pwc Transparency Report
Chicken Coop Havelock Nc
What Time Chase Close Saturday
iLuv Aud Click: Tragbarer Wi-Fi-Lautsprecher für Amazons Alexa - Portable Echo Alternative
Sound Of Freedom Showtimes Near Cinelux Almaden Cafe & Lounge
Sni 35 Wiring Diagram
Fort Mccoy Fire Map
Lola Bunny R34 Gif
Barber Gym Quantico Hours
Where to eat: the 50 best restaurants in Freiburg im Breisgau
Greensboro sit-in (1960) | History, Summary, Impact, & Facts
Albert Einstein Sdn 2023
Dove Cremation Services Topeka Ks
Miles City Montana Craigslist
Wonder Film Wiki
Is Poke Healthy? Benefits, Risks, and Tips
Rainfall Map Oklahoma
How To Improve Your Pilates C-Curve
Primerica Shareholder Account
FREE Houses! All You Have to Do Is Move Them. - CIRCA Old Houses
What are the 7 Types of Communication with Examples
Rubmaps H
Hotel Denizen Mckinney
CARLY Thank You Notes
Mistress Elizabeth Nyc
Www Craigslist Com Brooklyn
877-292-0545
Tsbarbiespanishxxl
Lonely Wife Dating Club בקורות וחוות דעת משתמשים 2021
Live Delta Flight Status - FlightAware
Penny Paws San Antonio Photos
Flappy Bird Cool Math Games
Mauston O'reilly's
How to Find Mugshots: 11 Steps (with Pictures) - wikiHow
99 Fishing Guide
Spongebob Meme Pic
Zalog Forum
Inloggen bij AH Sam - E-Overheid
Latest Posts
Article information

Author: Duane Harber

Last Updated:

Views: 5752

Rating: 4 / 5 (71 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Duane Harber

Birthday: 1999-10-17

Address: Apt. 404 9899 Magnolia Roads, Port Royceville, ID 78186

Phone: +186911129794335

Job: Human Hospitality Planner

Hobby: Listening to music, Orienteering, Knapping, Dance, Mountain biking, Fishing, Pottery

Introduction: My name is Duane Harber, I am a modern, clever, handsome, fair, agreeable, inexpensive, beautiful person who loves writing and wants to share my knowledge and understanding with you.