我是R的初学者.我在R中有数据框如下: Id ValuesA_0_d Low_5524; Low_6412; Hi_50567A_0_d Low_5509; Low_6412; Low_6897; Hi_16021A_0_d Low_5524; Low_4930; Low_5886B_1_d Low_3697; Low_4519; Low_5524C_3_d Low_5576; Low_5581C_3_d Hi_
Id Values A_0_d Low_5524; Low_6412; Hi_50567 A_0_d Low_5509; Low_6412; Low_6897; Hi_16021 A_0_d Low_5524; Low_4930; Low_5886 B_1_d Low_3697; Low_4519; Low_5524 C_3_d Low_5576; Low_5581 C_3_d Hi_30246 C_3_d Low_5576; Hi_30246
我想基于Ids聚合数据帧,即在一行中将相同ID的所有值分组,并且仅保留如下的唯一条目:
A_0_d Low_5524; Low_6412; Hi_50567; Low_5509; Low_6897; Hi_16021; Low_4930; Low_5886 B_1_d Low_3697; Low_4519; Low_5524 C_3_d Low_5576; Low_5581; Hi_30246
我可以利用聚合功能.请指导我.
将’data.frame’转换为’data.table'(setDT(df1)).然后,在按’Ids’分组后,将’Values’拆分为“;”,取消列出输出,获取唯一元素并将其粘贴在一起library(data.table) setDT(df1)[, .(Values = paste(unique(unlist(strsplit(Values, "; "))), collapse="; ")), by = Id] # Id #1: A_0_d #2: B_1_d #3: C_3_d # Values #1: Low_5524; Low_6412; Hi_50567; Low_5509; Low_6897; Hi_16021; Low_4930; Low_5886 #2: Low_3697; Low_4519; Low_5524 #3: Low_5576; Low_5581; Hi_30246