Count Number of Cases within Each Group of Data Frame in R (Example) | Counting Rows

 

In this R tutorial you’ll learn how to count the number of rows within data frame groups.

The content looks as follows:

Let’s dive into it.

 

Construction of Example Data

In the examples of this R programming tutorial, we’ll use the following data frame as basement:

set.seed(2131415)                                                         # Create example data
data <- data.frame(x = round(rnorm(100, 0, 3)),
                   group1 = sample(LETTERS[1:2], 100, replace = TRUE),
                   group2 = sample(LETTERS[3:5], 100, replace = TRUE))
head(data)                                                                # Print example data
#    x group1 group2
# 1  2      A      C
# 2  0      B      C
# 3 -2      A      D
# 4  4      B      E
# 5  0      A      E
# 6 -5      A      D

The previous output of the RStudio console shows the first six rows of our data matrix. Our example data table contains three columns (i.e. the numeric variable x and two grouping columns) and 100 rows. The grouping column group1 contains the values A and B and the grouping column group2 consists of the group indicators C, D, and E.

Now, let’s count the amount of rows of the group combinations of the variables group1 and group2!

 

Example 1: Count Cases of One Group in R

Example 1 shows how to count the number of rows of one specific group combination, i.e. cases equal to the value A in group1 and equal to C in group2.

For this task, we can use the nrow function and square brackets to subset our data by logical conditions according to our desired groups:

nrow(data[data$group1 == "A" & data$group2 == "C", ])                     # Count rows of one group
# 16

The previous R code returns the value 16, i.e. 16 row elements of our data frame are equal to the grouping indicators A and C.

 

Example 2: Count Cases of Each Group in R

Example 2 show a more general approach for counting cases within groups. More precisely, the following R syntax returns the amount of cases within each group combination of our data frame using the aggregate and length functions:

aggregate(x ~ group1 + group2,                                            # Count rows of all groups
          data = data,
          FUN = length)
#   group1 group2  x
# 1      A      C 16
# 2      B      C 21
# 3      A      D 13
# 4      B      D 20
# 5      A      E 12
# 6      B      E 18

As you can see based on the previous output of the RStudio console, the previous R programming code illustrates the size of each group in our data frame.

 

Video & Further Resources

If you need further info on the R programming codes of this post, you might want to watch the following video of my YouTube channel. In the video, I show the content of this tutorial:

 

Please accept YouTube cookies to play this video. By accepting you will be accessing content from YouTube, a service provided by an external third party.

YouTube Content Consent Button Thumbnail

YouTube privacy policy

If you accept this notice, your choice will be saved and the page will refresh.

 

In addition, you might have a look at some of the other tutorials that I have published on Statistics Globe. I have published several articles already.

 

Summary: On this page, I illustrated how to aggregate observations in data frames in R. In case you have further comments or questions, let me know in the comments section below.

 

Subscribe to my free statistics newsletter

Get regular updates on the latest tutorials, offers & news at Statistics Globe.
I hate spam & you may opt out anytime: Privacy Policy.


Leave a Reply

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

Fill out this field
Fill out this field
Please enter a valid email address.

Menu
Top