【发布时间】:2016-01-31 22:49:37
【问题描述】:
我有一个带有客户 ID 的已售 sku 数据集。
dtSales = data.table(sku = c("a", "b", "b", "c", "b","b", "c", "d", "b", "a"),
qty = c(1,1,1,2,1,3,2,1,4,2),
customer = c(1,1,2,2,3,1,1,1,4,1))
id sku qty customer
1: 1 a 1 1
2: 2 b 1 1
3: 3 b 1 2
4: 4 c 2 2
5: 5 b 1 3
6: 6 b 3 1
7: 7 c 2 1
8: 8 d 1 1
9: 9 b 4 4
10: 10 a 2 1
我可以找到每个 sku 被购买了多少次,以及有多少客户购买了每个产品。
dtSales[,.(ttlqty=sum(qty), distinctCustomer= length(unique(customer))) ,by=sku][order(-ttlqty)]
sku ttlqty distinctCustomer
1: b 10 4
2: c 4 2
3: a 3 1
4: d 1 1
我想对客户进行累计计数。 第一行:有多少不同的客户购买了产品 1 第二行:有多少不同的客户购买了产品 1 或产品 2 ...
谢谢
【问题讨论】:
-
查看
cumsum并将其应用于您的 distinctCustomer 列,您应该得到所需的输出? -
我不想简单地添加 distinctCustomer 列,我想找到购买过任何以前产品的不同客户。因此,如果客户 1 购买了产品 b 和 c,我只想计算他一次。
-
为了有人能帮到你,我相信你应该根据你上面发布的输入更新你的问题的细节和所需的输出。
标签: r data.table