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

The dplyr package in R provides a useful function called relocate(), which can be used to rearrange the order of columns within a data frame. The syntax for this function is relocate(data, from, to). The first argument is the data frame, the second argument is the name of the column you want to move, and the third argument is the position you want to move it to. The relocate() function allows you to quickly and easily rearrange the columns of your data frame with minimal effort.


You can use the function from the dplyr package in R to change the column positions in a data frame.

You can use the following methods to change the column positions:

Method 1: Move One Column to Front

#move 'x' column to front
df %>% relocate(x)

Method 2: Move Several Columns to Front

#move 'x' and 'y' columns to front
df %>% relocate(x, y)

Method 3: Move Column to Position After Another Column

#move 'x' column to position after 'y' column
df %>% relocate(x, .after=y)

Method 4: Move Column to Position Before Another Column

#move 'x' column to position before 'y' column
df %>% relocate(x, .before=y)

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

#create dataset
df <- data.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),
                 rebounds=c(6, 6, 10, 12, 8, 8, 3))

#view dataset
df

  team points assists rebounds
1    A      1       1        6
2    A      2       5        6
3    A      3       2       10
4    B      4       3       12
5    B      5       2        8
6    C      6       2        8
7    C      7       0        3

Example 1: Move One Column to Front

The following code shows how to use the relocate() function to move one column to the front:

#move 'assists' column to front
df %>% relocate(assists)

  assists team points rebounds
1       1    A      1        6
2       5    A      2        6
3       2    A      3       10
4       3    B      4       12
5       2    B      5        8
6       2    C      6        8
7       0    C      7        3

Example 2: Move Several Columns to Front

The following code shows how to use the relocate() function to move multiple columns to the front:

#move 'points' and 'assists' to front
df %>% relocate(points, assists)

  points assists team rebounds
1      1       1    A        6
2      2       5    A        6
3      3       2    A       10
4      4       3    B       12
5      5       2    B        8
6      6       2    C        8
7      7       0    C        3

Example 3: Move Column to Position After Another Column

The following code shows how to use the relocate() function to move one column to a specific position after another column:

#move 'team' column to after 'assists' column
df %>% relocate(team, .after=assists)

  points assists team rebounds
1      1       1    A        6
2      2       5    A        6
3      3       2    A       10
4      4       3    B       12
5      5       2    B        8
6      6       2    C        8
7      7       0    C        3

Example 4: Move Column to Position Before Another Column

The following code shows how to use the relocate() function to move one column to a specific position before another column:

#move 'team' column to before 'rebounds' column
df %>% relocate(team, .before=rebounds)

  points assists team rebounds
1      1       1    A        6
2      2       5    A        6
3      3       2    A       10
4      4       3    B       12
5      5       2    B        8
6      6       2    C        8
7      7       0    C        3

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

x