作为初始数据框:
structure(list(text = c("test", "text", "section", "2", "sending"
), id = c(32, 32, 41, 41, 41)), class = "data.frame", row.names = c(NA,
-5L))
如何使用相同的id从长到宽格式将文本列的内容放在同一行中,并用空格分隔?
示例输出:
id text
32 test text
41 section 2 sending
答案 0 :(得分:2)
您可以尝试以下方法:
library(tidyverse)
df %>%
group_by(id) %>%
mutate(text = paste(text, collapse = " ")) %>%
slice(1)
# A tibble: 2 x 2
# Groups: id [2]
text id
<chr> <dbl>
1 test text 32
2 section 2 sending 41
答案 1 :(得分:2)
您可以从aggregate
包中{stats}
并将paste
用作您的汇总函数:
aggregate(text ~ id, FUN = paste, collapse = " ", data = df)
#> id text
#> 1 32 test text
#> 2 41 section 2 sending