说我有以下数据框:
df<-data.frame(Name=c(rep("John",3),rep("Paul",2),rep("George",2),"Ringo"),
Instrument=c("Guitar","Piano","Drums","Piano","Bass","Guitar","Sitar","Drums"))
> df
Name Instrument
1 John Guitar
2 John Piano
3 John Drums
4 Paul Piano
5 Paul Bass
6 George Guitar
7 George Sitar
8 Ringo Drums
我想做的是按名称分组,并将不同的乐器串联成一个字符串,例如:
Name Instruments
1 John Guitar,Piano,Drums
2 Paul Piano,Bass
3 George Guitar,Sitar
4 Ringo Drums
我认为使用group_by并粘贴在summary中应该可以解决问题:
library(dplyr)
df <- df %>%
group_by(Name) %>%
summarise(Instruments = paste(Instrument,sep=","))
但是相反,我收到“期望单个值”错误。group_by仅意味着要使用数字函数吗?如果可以,是否有人知道是否可以解决?
df <- df %>%
group_by(Name) %>%
summarise(Instruments = paste(Instrument ,collapse=" "))
注意 collapse
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句