Table function in R -table(), performs categorical tabulation of data with the variable and its frequency. Table() function is also helpful in creating Frequency tables with condition and cross tabulations.
Lets see usage of R table() function with some examples
- Frequency table in R with table() function
- Cross table or Frequency table with proportion
- Two way Cross table or Two way frequency table along with proportion in R
- Three way frequency table or three way cross table in R.
Frequency table with table function in R :
Main Objective of table function in R is creating Frequency table. Lets use iris data set to demonstrate our example. Lets create a frequency table for types of species in iris.
## Frequency table with table() function in R table(iris$Species)
when we execute the above code, the output will be
Which says that there are 50 observation in each species (setosa, versicolor & virginica)
Frequency Table with Proportion:
proportion of the frequency table is created using prop.table() function. Table is passed as an argument to the prop.table() function. so that the proportion of the frequency table is calculated
## Frequency table with with proportion using table() function in R table1 = as.table(table(iris$Species)) prop.table(table1)
which results in proportion as output
Which says that there are 50 observation in each species (setosa, versicolor & virginica) out of total 150. so each species contributes to 33% percent as shown.
Frequency table with condition:
We can also create a frequency table with predefined condition using R table() function.For example lets say we need to get how many obervations have Sepal.Length>5.0 in iris table.
## Frequency table with condition using table function in R table(iris$Sepal.Length>5.0)
when we execute the above code the output will be
FALSE TRUE
32 118
Which says there are
- 118 observation with Sepal.Length >5.0
- 32 observation with Sepal.Length <=5.0
2 way cross table in R:
Table function also helpful in creating 2 way cross table in R. For example lets say we need to create cross tabulation of gears and carb in mtcars table
## cross tabulation gear * carb table(mtcars$gear,mtcars$carb)
when we execute the above code the output will be
Which says there are 3 cars which has carb=1 and gear=3 and so on.
Two way Frequency Table with Proportion:
proportion of the frequency table is created using prop.table() function. Table is passed as an argument to the prop.table() function. so that the proportion of the two way frequency table is calculated
## Frequency table with with proportion using table() function in R table1 = as.table(table(mtcars$gear,mtcars$carb)) prop.table(table1)
which results in proportion as output
with total covering to 100% percent as shown.
Note :
- prop.table(table_name,1) will give Row wise proportion in frequency table, with row wise proportion equal to 100% percent.
- prop.table(table_name,2) will give column wise proportion in frequency table, with column wise proportion equal to 100% percent.
3 way cross table in R:
Similar to 2 way cross table we can create a 3 way cross table in R with the help of table function.
## 3 way cross tabulation gear * carb* cyl with table function in R table(mtcars$gear,mtcars$carb,mtcars$cyl)
when we execute the above code the output will be
Indirectly it gives the cross tabulation of gear* carb for cyl=4,cyl=6 and cyl=8 separately as shown above.