繁体   English   中英

groupby 在 R 中的类字符列上进行汇总

[英]groupby with summarise in R on a column of class character

我有一个包含 A 列和 B 列的数据框,其中 B 是我想按 A 列分组的字符串,并将 B 的元素组合成一个字符串,然后我可以在其中获取该分组字符的唯一元素(使用 R 4.0.5 和dplyr )。

例子:

df <- data.frame(a = c("a","a","a","b","b","b"), c = c("d","d","d","d","e","e"))

df.new <- df %>%
             group_by(a) %>%
             summarise(new_strs = c(c)) 

输出这个data.frame

1 a     d       
2 a     d       
3 a     d       
4 b     d       
5 b     e       
6 b     e    

所需的 DF 输出:

1 a     c("d","d","d")             
6 b     c("d","e","e")    

如何更改代码以获得结果。 我也尝试过paste(x, collapse = ",")但它给出了一个字符串而不是一组字符串。

我的第一个想法是使用list而不是c

exampledf <- data.frame(a = c("a","a","a","b","b","b"), c = c("d","d","d","d","e","e"))

exampledf %>%
  group_by(a) %>%
  summarise(new_strs = list(c))

我们可以使用来自base R aggregate

aggregate(c ~ a, df, list)
  a       c
1 a d, d, d
2 b d, e, e

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM