在R中的groupby之后连接唯一的字符串

ita*_*alo 2 r dplyr

我正在对数据帧进行分组,并希望连接唯一的字符串.

data= data.frame(
aa=c(1,2,3,4,5,6,7,8,9,10),
bb=c('a','a','a','a','a','b','b','b','b','b'),
cc=c('hello','hello','hi','message','bye','q','w','r','r','t'))
Run Code Online (Sandbox Code Playgroud)

期望的输出:

bb    cc
a     'hello hi message bye'
b     'q w r t'
Run Code Online (Sandbox Code Playgroud)

目前我正在这样做(这里建议):

result<- data %>% 
  group_by(bb) %>%
  mutate(body = paste0(cc, collapse = "")) %>%
  summarise(t_body = first(body)
Run Code Online (Sandbox Code Playgroud)

但我得到的所有字符串都不是唯一的字符串.

Psi*_*dom 8

使用uniquecc粘贴之前,也没有必要的mutate步骤中,您可以使用summarize直接:

data %>% 
    group_by(bb) %>% 
    summarise(cc = paste(unique(cc), collapse = ' '))

# A tibble: 2 x 2
#  bb    cc                  
#  <fct> <chr>               
#1 a     hello hi message bye
#2 b     q w r t  
Run Code Online (Sandbox Code Playgroud)