R语言 合并多个列中的数据,以便按另一列中的唯一值进行分组

a11xaf1n  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(135)

我希望合并几列中的数据,以便在另一列中按唯一值分组。
| 食物_1|食物_2|食物_3| food_3 |
| --|--|--| ------------ |
| 1| 0| 0| 0 |
| 0|二个|0| 0 |
| 0| 0|六| 6 |
| 二个|0| 0| 0 |
| 0| 1| 0| 0 |
| 0| 0|五| 5 |
我希望它被合并,所以它是每个group_id的一行。

yduiuuwa

yduiuuwa1#

在基R中,我们可以使用aggregate:使用aggregate,我们可以将sum函数应用于每一列:

aggregate(. ~ group_id, df, sum)

字符串
dplyr的等效值为:

library(dplyr) #>= 1.1.0
df %>% 
  summarise(across(starts_with("food"), ~sum(.)), .by = group_id)
group_id food_1 food_2 food_3
1        1      1      2      6
2        2      2      1      5

相关问题