gpt4 book ai didi

r - 用于创建列表联合的 ddply

转载 作者:行者123 更新时间:2023-12-04 09:29:56 26 4
gpt4 key购买 nike

我有一个包含客户 ID 和列表的数据框。
我想合并那些属于同一客户的列表。

library(plyr)
subsets <- list(c("a", "d", "e"), c("a", "b", "c", "e"))
customerids <- c(1,1)
transactions <- data.frame(customerid = customerids,subset =I(subsets))
> transactions
customerid subset
1 1 a, d, e
2 1 a, b, c, e

如果我想用 ddply 合并子集,我会得到一个扩展的结果
> ddply(transactions, .(customerid), summarise, subset=Reduce(union,subset))
customerid subset
1 1 a
2 1 d
3 1 e
4 1 b
5 1 c

而我原以为所有结果都在 1 行中。

最佳答案

你可以这样做:

ddply(transactions, .(customerid), function(x) 
data.frame(subset=I(list(unlist(x$subset)))))

编辑:我不确定我是否遵循您的评论。但是,如果您只想要每个 customerid 中的唯一值为 subset然后:
ddply(transactions, .(customerid), function(x) 
data.frame(subset=I(list(unique(unlist(x$subset))))))

关于r - 用于创建列表联合的 ddply,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664116/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com