[英]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.