Is it possible to Create Frequency Tables in R (With Examples)?

Yes, it is possible to create frequency tables in R. The table() command can be used to create frequency tables of both categorical and numerical variables. The command also allows you to present the frequency table in a variety of formats, such as a bar plot, pie chart, histogram, or a list. Furthermore, summary() can be used to create a frequency table of categorical data and table() can be used to create a frequency table of numerical data. Examples of creating frequency tables in R can be found on various websites, such as the RStudio website.


A frequency table is a table that displays the frequencies of different categories. This type of table is particularly useful for understanding the distribution of values in a dataset.

This tutorial explains how to create frequency tables in R using the following data frame:

#make this example reproducible
set.seed(0)

#create data frame 
df <- data.frame(store=rep(c('A', 'B', 'C'), each=3),
                 sales=round(runif(9, 2, 6), 0),
                 returns=round(runif(9, 1, 3), 0))

#view data frame 
df

  store sales returns
1     A     6       2
2     A     3       1
3     A     3       1
4     B     4       1
5     B     6       2
6     B     3       2
7     C     6       3
8     C     6       2
9     C     5       2

One-Way Frequency Tables in R

The following code shows how to create a one-way frequency table in R for the variable store:

#calculate frequency of each store
table(df$store)

A B C 
3 3 3 

This table simply tells us:

  • Store A appears 3 times in the data frame.
  • Store B appears 3 times in the data frame.
  • Store C appears 3 times in the data frame.

Two-Way Frequency Tables in R

The following code shows how to create a two-way frequency table in R for the variables store and sales:

#calculate two-way frequency table
table(df$store, df$sales)

    3 4 5 6
  A 2 0 0 1
  B 1 1 0 1
  C 0 0 1 2 

This table tells us:

  • Store A made 3 sales on 2 different occasions.
  • Store A made 4 sales on 0 occassions.
  • Store A made 5 sales on 0 occassions.
  • Store A made 1 sale on 1 occassions.

And so on.

Three-Way Frequency Tables in R

The following code shows how to create a three-way frequency table for all three variables in our data frame:

#calculate three-way frequency table
table(df$store, df$sales, df$returns)

, ,  = 1

   
    3 4 5 6
  A 2 0 0 0
  B 0 1 0 0
  C 0 0 0 0

, ,  = 2

   
    3 4 5 6
  A 0 0 0 1
  B 1 0 0 1
  C 0 0 1 1

, ,  = 3

   
    3 4 5 6
  A 0 0 0 0
  B 0 0 0 0
  C 0 0 0 1 

Note that R can make frequency tables for even higher dimensions (e.g. 4-way frequency tables, 5-way frequency tables) but the output can become quite large for higher dimensions.

In practice, one-way and two-way frequency tables are used most often.

How to Create Tables in R
How to Perform a Chi-Square Test of Independence in R
How to Perform a Chi-Square Goodness of Fit Test in R

x