How to Create Frequency Tables in R (With Examples)


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 

The first table tells us the total sales by store when the number of returns was equal to 1. The second table tells us the total sales by store when the number of returns was equal to 2. And the third table tells us the total sales by store when the number of returns was equal to 3.

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.

Additional Resources

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

Leave a Reply

Your email address will not be published. Required fields are marked *