11.1 C
London
Sunday, July 7, 2024
HomeRDescriptive Statistics in RHow to Perform a SUMIF Function in R

How to Perform a SUMIF Function in R

Related stories

Learn About Opening an Automobile Repair Shop in India

Starting a car repair shop is quite a good...

Unlocking the Power: Embracing the Benefits of Tax-Free Investing

  Unlocking the Power: Embracing the Benefits of Tax-Free Investing For...

Income Splitting in Canada for 2023

  Income Splitting in Canada for 2023 The federal government’s expanded...

Can I Deduct Home Office Expenses on my Tax Return 2023?

Can I Deduct Home Office Expenses on my Tax...

Canadian Tax – Personal Tax Deadline 2022

  Canadian Tax – Personal Tax Deadline 2022 Resources and Tools...

Often you may be interested in only finding the sum of rows in an R data frame that meet some criteria. Fortunately this is easy to do using the following basic syntax:

aggregate(col_to_sum ~ col_to_group_by, data=df, sum)

The following examples show how to use this syntax  on the following data frame:

#create data frame
df frame(team=c('a', 'a', 'b', 'b', 'b', 'c', 'c'),
                 pts=c(5, 8, 14, 18, 5, 7, 7),
                 rebs=c(8, 8, 9, 3, 8, 7, 4),
                 blocks=c(1, 2, 2, 1, 0, 4, 1))

#view data frame
df

  team pts rebs blocks
1    a   5    8      1
2    a   8    8      2
3    b  14    9      2
4    b  18    3      1
5    b   5    8      0
6    c   7    7      4
7    c   7    4      1

Example 1: Perform a SUMIF Function on One Column

The following code shows how to find the sum of points for each team:

aggregate(pts ~ team, data=df, sum)

  team pts
1    a  13
2    b  37
3    c  14

Example 2: Perform a SUMIF Function on Multiple Columns

The following code shows how to find the sum of points and rebounds for each team:

aggregate(cbind(pts, rebs) ~ team, data=df, sum)

  team pts rebs
1    a  13   16
2    b  37   20
3    c  14   11

Example 3: Perform a SUMIF Function on All Columns

The following code shows how to find the sum of all columns in the data frame for each team:

aggregate(. ~ team, data=df, sum)

  team pts rebs blocks
1    a  13   16      3
2    b  37   20      3
3    c  14   11      5

Note: The period (.) is used in R to represent “all” columns.

Additional Resources

How to Perform a COUNTIF Function in R
How to Sum Specific Columns in R
How to Sum Specific Rows in R

Subscribe

- Never miss a story with notifications

- Gain full access to our premium content

- Browse free from up to 5 devices at once

Latest stories