我有以下数据框,包含3列
category <- c("A", "A", "A", "B","B")
id <- c(1,1,2,3,3)
text <- c("abc", "def", "ghi", "jkl", "pqr")
df <- data.frame(category,id,text)
> df
category id text
1 A 1 abc
2 A 1 def
3 A 2 ghi
4 B 3 jkl
5 B 3 pqr
我想连接每组每个ID的文本
我的输出需要像:
A 1 "abc def"
A 2 "ghi"
B 3 "jkl pqr"
我尝试使用
library(stringr)
str_c(df[,3], collapse = NULL)
但是我的输出不正确,我怎样才能获得每组每个ID
答案 0 :(得分:3)
使用dplyr
,您可以:
library(dplyr)
df %>% group_by(category,id) %>% summarise(text=paste(text,collapse=" "))
category id text
<fctr> <dbl> <chr>
1 A 1 abc def
2 A 2 ghi
3 B 3 jkl pqr