多个相同的行合并为一行,但行数不同

Multiple same rows to one row, but rows at different amount

我有这样的数据:

id 字数
1 公交车
1 到达
1 停止
1 时间
1 胡子
1 大胡子
1 坐着
2 同时
2 争论
2 座位
2 时间
2 警察
3 官员
3 步行
3 干预

我想将其转换为如下数据集:

id 字数
1 到公交车站的时候大胡子坐
2 同时开始争论座位时间
3 警察步行干预

可能吗?

谢谢。

为我的评论添加一些细节:

library(dplyr)

data <- tibble::tribble(
  ~id,        ~word,
   1L,     "arrive",
   1L,        "bus",
   1L,       "stop",
   1L,       "time",
   1L,      "beard",
   1L,    "bearded",
   1L,       "sits",
   2L,     "whilst",
   2L,      "begin",
   2L,      "argue",
   2L,       "seat",
   2L,       "time",
   2L,     "police",
   3L,    "officer",
   3L,      "walks",
   3L, "intervenes"
  )

data %>% 
  group_by(id) %>% 
  mutate(word = paste0(word, collapse = " ")) %>% 
  slice(1) %>% # Take the first line from each group
  ungroup()

或更好(因此您不需要切片):

data %>% 
  group_by(id) %>% 
  summarise(word = paste0(word, collapse = " "))