R语言:dplyr,根据ID合并列(summarise_all)

发布时间 2023-08-17 18:39:46作者: 橙子牛奶糖

原始数据df1如下所示,ID=3有重复行,对于重复的行,则合并列。

ID Val1 Val2 Val3
0 2 3 4
1 5 3 2
2 3 4 3
3 4 5 9
3 2 5 9

变成如下所示:
ID Val1 Val2 Val3
0 2 3 4
1 5 3 2
2 3 4 3
3 4,2 5 9

可以使用如下命令:

library(dplyr)
df1 %>%
    group_by(ID) %>% 
    summarise_all(~ list(unique(.)))

或者:

library(stringr)
df1 %>%
   group_by(ID) %>%
   summarise_all(~ toString(unique(.)))