如何在 dplyr 中使用 relocate() 函数(附示例)


您可以使用 R 中dplyr包中的relocate()函数来更改数据框中的列位置。

您可以使用以下方法更改列位置:

方法一:向前移动一列

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

方法2:向前移动多列

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

方法 3:将该列移动到另一列之后的位置

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

方法 4:将该列移动到另一列之前的位置

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

以下示例展示了如何将每种方法与以下数据框结合使用:

 #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

示例 1:向前移动一列

以下代码显示如何使用relocate()函数向前移动列:

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

  assists team points rebounds
1 1 To 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

示例 2:向前移动多列

以下代码显示如何使用relocate()函数向前移动多个列:

 #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

示例 3:将该列移动到另一列之后的位置

以下代码演示如何使用relocate()函数将一列移动到另一列之后的特定位置:

 #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 To 10
4 4 3 B 12
5 5 2 B 8
6 6 2 C 8
7 7 0 C 3

示例 4:将列移动到另一列之前的位置

以下代码演示如何使用relocate()函数将一列移动到另一列之前的特定位置:

 #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 To 10
4 4 3 B 12
5 5 2 B 8
6 6 2 C 8
7 7 0 C 3

其他资源

以下教程解释了如何使用 dplyr 执行其他常见功能:

如何使用 dplyr 删除行
如何使用 dplyr 排列行
如何使用 dplyr 按多个条件进行过滤

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注