下面的例子展示了如何在以下数据框架中实际使用这种语法:
#create data frame
df <- data.frame(team=c('A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'),
points=c(12, 14, 19, 24, 24, 22, 30, 9),
assists=c(4, 6, 6, 8, 3, 7, 8, 11))
#view data frame
team points assists
1 A 12 4
2 A 14 6
3 A 19 6
4 A 24 8
5 B 24 3
6 B 22 7
7 B 30 8
8 B 9 11
例子1:在数据框的末尾添加列
下面的代码显示了如何在数据框架的末尾添加一列:
#add 'blocks' column at end of data frame
df <- df %>%
mutate(blocks=c(1, 3, 3, 2, 4, 3, 6, 2))
#view data frame
team points assists blocks
1 A 12 4 1
2 A 14 6 3
3 A 19 6 3
4 A 24 8 2
5 B 24 3 4
6 B 22 7 3
7 B 30 8 6
8 B 9 11 2
注意,你可以通过简单地给新列中的每个值分配NA来添加一个空列:
df <- df %>%
mutate(blocks=NA)
team points assists blocks
1 A 12 4 NA
2 A 14 6 NA
3 A 19 6 NA
4 A 24 8 NA
5 B 24 3 NA
6 B 22 7 NA
7 B 30 8 NA
8 B 9 11 NA
例2:在特定列之前添加列
下面的代码显示了如何在数据框架中的特定列之前添加一列:
#add 'blocks' column before 'points' column
df <- df %>%
mutate(blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
.before=points)
#view data frame
team blocks points assists
1 A 1 12 4
2 A 3 14 6
3 A 3 19 6
4 A 2 24 8
5 B 4 24 3
6 B 3 22 7
7 B 6 30 8
8 B 2 9 11
例3:在特定列之后添加列
下面的代码显示了如何在数据框架中的某一特定列之后添加一列:
#add 'blocks' column after 'points' column
df <- df %>%
mutate(blocks=c(1, 3, 3, 2, 4, 3, 6, 2),
.after=points)
#view data frame
team points blocks assists
1 A 12 1 4
2 A 14 3 6
3 A 19 3 6
4 A 24 2 8
5 B 24 4 3
6 B 22 3 7
7 B 30 6 8
8 B 9 2 11
例4:在其他列的基础上添加列
下面的代码显示了如何在数据框架中的另一列的基础上添加一列:
#add 'status' column whose values depend on value in 'points' column
df <- df %>%
mutate(status= if_else(.$points > 20, 'Good', 'Bad'))
#view data frame
team points assists status
1 A 12 4 Bad
2 A 14 6 Bad
3 A 19 6 Bad
4 A 24 8 Good
5 B 24 3 Good
6 B 22 7 Good
7 B 30 8 Good
8 B 9 11 Bad
下面的教程解释了如何在dplyr中执行其他常用功能:
如何使用dplyr按索引位置重命名列
如何使用dplyr按索引选择列
如何使用dplyr删除行