假设我想将值分成三个不同的列,并用符号 /
分割df2 frame(player=c('A', 'A', 'B', 'B', 'C', 'C'),
year=c(1, 2, 1, 2, 1, 2),
stats=c('22/2/3', '29/3/4', '18/6/7', '11/1/2', '12/1/1', '19/2/4'))
我会使用以下代码
separate(df, col=stats, into=c('points', 'assists', 'steals'), sep='/')
但是如果我只想将第一个元素保留在一个列中,而将其他两个元素分开?我的意思是(仅第一行的示例):
col1 col2
22 2/3
我应该如何更改以下代码?
separate(df2, col=stats, into=c('points', 'assist'), sep='/')
separate
函数有一个extra=
参数来控制当您发现的内容多于提取的内容时会发生什么情况。此处使用 extra="merge"
折叠值
separate(df2, col=stats, into=c('points', 'assist'), sep='/', extra="merge")
# player year points assist
# 1 A 1 22 2/3
# 2 A 2 29 3/4
# 3 B 1 18 6/7
# 4 B 2 11 1/2
# 5 C 1 12 1/1
# 6 C 2 19 2/4