【发布时间】:2014-11-05 07:34:35
【问题描述】:
我想执行 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 的出路方面需要帮助。
【问题讨论】:
-
df %>% group_by(varx)%>%summarise(catY=paste(vary, collapse = ","))。paste给了你一个向量,所以你需要把collapse变成一维字符向量 -
谢谢大卫...确实有效...
-
谢谢大卫,你为什么不写这个评论作为答案呢?所以会更好的推广。