如何在 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 按多个条件进行过滤