Count Observations by Group in R, want to count the number of observations by the group.
Fortunately, the count() function from the dplyr library makes this simple.
Using the data frame below, this tutorial shows numerous examples of how to utilize this function in practice.
Change ggplot2 Theme Color in R- Data Science Tutorials
Count Observations by Group in R
Let’s create a data frame
df <- data.frame(Q1 = c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C', 'C', 'C'), Q2 = c('G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F', 'F'), Q3 = c(4, 13, 7, 8, 15, 15, 17, 9, 21, 22, 25, 31)) df
Q1 Q2 Q3 1 A G 4 2 A G 13 3 A F 7 4 B G 8 5 B F 15 6 B F 15 7 B F 17 8 B G 9 9 C G 21 10 C F 22 11 C F 25 12 C F 31
Approach 1: Count by One Variable
The code below demonstrates how to count the total number of players in each team(Q1).
How to compare variances in R – Data Science Tutorials
total observations by the ‘Q1’ variable
library(dplyr) df %>% count(Q1)
Q1 n 1 A 3 2 B 5 3 C 4
We can observe from the output that:
There are three players on Team A.
Team B consists of five players.
There are four players on Team C.
This single count() function gives us a good indication of how many players are in each squad.
It’s worth noting that we can sort the counts if we want to.
How to draw heatmap in r: Quick and Easy way – Data Science Tutorials
count total observations by the ‘Q1’ variable
df %>% count(Q1, sort=TRUE)
Q1 n 1 B 5 2 C 4 3 A 3
Approach 2: Count by Multiple Variables
We can sort by many variables as well.
‘Q1’ and ‘Q3’ are used to count the total number of observations.
df %>% count(Q1, Q3)
Q1 Q3 n 1 A 4 1 2 A 7 1 3 A 13 1 4 B 8 1 5 B 9 1 6 B 15 2 7 B 17 1 8 C 21 1 9 C 22 1 10 C 25 1 11 C 31 1
Approach 3: Weighted Count
Another variable can be used to “weight” the numbers of one variable. The following code, for example, demonstrates how to tally the total observations per team using the variable ‘Q3’ as the weight.
5 Free Books to Learn Statistics For Data Science – Data Science Tutorials
df %>% count(Q1, wt=Q3)
Q1 n 1 A 24 2 B 64 3 C 99