sql—在r中创建一个列表,其中Dataframe的公共值在单个匹配中与另一个匹配

xpszyzbs  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(310)

我有一个有两列的数据框,我想创建一个额外的列/用第一列中具有相同型号代码的项目列表替换第二列。
我正在寻找在r或sql中实现这一点的代码。
输入数据:

data<-structure(list(Model.codes = c(960468L, 960468L, 960531L, 960531L, 960531L, 960531L), Item.Ids = c(4072324L, 4072322L, 4072430L, 4072431L, 4072429L, 4072426L)), .Names = c("Model.codes", "Item.Ids" ), row.names = c(NA, 6L), class = "data.frame")

预期产量:

Model.codes                          Ids_list
1:      960468                 [4072324,4072322]
2:      960531 [4072430,4072431,4072429,4072426]
6yjfywim

6yjfywim1#

这是否符合您的需求:

library(data.table)
setDT(data)
data[,.(Ids_list = paste0('[',paste0(Item.Ids,collapse=','),']')),by=Model.codes]

   Model.codes                          Ids_list
1:      960468                 [4072324,4072322]
2:      960531 [4072430,4072431,4072429,4072426]

相关问题