我想执行group_by并使用dplyr对数据帧执行字符串操作
df<-data.frame(varx=c("x1","x1","x2","x2","x2"),vary=c("y1","y2","y3","y4","y5"))
我希望输出(newdf)看起来像这样:
newdf <- data.frame(varx=c("x1","x2"),catY=c("y1,y2","y3,y4,y5"))
我在dplyr中尝试了以下内容
df %>% group_by(varx)%>%summarise(catY=paste(vary))
Error: expecting a single value
还尝试了以下方法:
df %>% group_by(varx)%>%mutate(catY=paste(vary))
Source: local data frame [5 x 3]
Groups: varx
我可以使用基本的数据框操作来做到这一点。在理解dplyr的出路时需要帮助。
最佳答案
大卫的评论稍短一些:
library(dplyr)
df %>% group_by(varx) %>% summarise(catY = toString(vary))
#Source: local data frame [2 x 2]
#
# varx catY
#1 x1 y1, y2
#2 x2 y3, y4, y5