Home » How to Use the slice() Function in dplyr (With Examples)

How to Use the slice() Function in dplyr (With Examples)

by Erma Khan

You can use the slice() function from the dplyr package in R to subset rows based on their integer locations.

You can use the following methods to subset certain rows in a data frame:

Method 1: Subset One Specific Row

#get row 3 only
df %>% slice(3)

Method 2: Subset Several Rows

#get rows 2, 5, and 6
df %>% slice(2, 5, 6)

Method 3: Subset A Range of Rows

#get rows 1 through 3
df %>% slice(1:3)

Method 4: Subset Rows by Group

#get first row by group
df %>%
  group_by(var1) %>%
  slice(1)

The following examples show how to each method with the following data frame:

#create dataset
df frame(team=c('A', 'A', 'A', 'B', 'B', 'C', 'C'),
                 points=c(1, 2, 3, 4, 5, 6, 7),
                 assists=c(1, 5, 2, 3, 2, 2, 0))

#view dataset
df

  team points assists
1    A      1       1
2    A      2       5
3    A      3       2
4    B      4       3
5    B      5       2
6    C      6       2
7    C      7       0

Example 1: Subset One Specific Row

The following code shows how to use the slice() function to select only row 3 in the data frame:

#get row 3 only
df %>% slice(3)

  team points assists
1    A      3       2

Example 2: Subset Several Rows

The following code shows how to use the slice() function to select several specific rows in the data frame:

#get rows 2, 5, and 6
df %>% slice(2, 5, 6)

  team points assists
1    A      2       5
2    B      5       2
3    C      6       2

Example 3: Subset A Range of Rows

The following code shows how to use the slice() function to select all rows in the range 1 through 3:

#get rows 1 through 3
df %>% slice(1:3)

  team points assists
1    A      1       1
2    A      2       5
3    A      3       2

Example 4: Subset Rows by Group

The following code shows how to use the slice() function to select the first row in certain groups:

#get first row by group
df %>%
  group_by(team) %>%
  slice(1)

# A tibble: 3 x 3
# Groups:   team [3]
  team  points assists
       
1 A          1       1
2 B          4       3
3 C          6       2

Additional Resources

The following tutorials explain how to perform other common functions using dplyr:

How to Remove Rows Using dplyr
How to Arrange Rows Using dplyr
How to Filter by Multiple Conditions Using dplyr

Related Posts