我有一個包含 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 = ",")但它給出了一個字串,而不是一組字串。
uj5u.com熱心網友回復:
我的第一個想法是使用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))
uj5u.com熱心網友回復:
我們可能會使用aggregate從base R
aggregate(c ~ a, df, list)
a c
1 a d, d, d
2 b d, e, e
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/327650.html
