多个相同的行合并为一行,但行数不同
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 = " "))
我有这样的数据:
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 = " "))