gpt4 book ai didi

r - 有效使用 R data.table 和 unique()

转载 作者:行者123 更新时间:2023-12-04 06:03:42 24 4
gpt4 key购买 nike

是否有比以下更有效的查询

DT[, list(length(unique(OrderNo)) ),customerID]
使用客户 ID、订单号和产品行项目细化 LONG 格式表,这意味着如果客户在该交易中购买了 1 个以上的项目,则将有具有相同订单 ID 的重复行。
试图制定独特的购买。 length()按客户 ID 提供所有订单 ID 的计数,包括重复项,仅查找唯一编号。
从这里编辑:
这是一些虚拟代码。理想情况下,我正在寻找的是使用 unique() 的第一个查询的输出。 .
df <- data.frame(
customerID=as.factor(c(rep("A",3),rep("B",4))),
product=as.factor(c(rep("widget",2),rep("otherstuff",5))),
orderID=as.factor(c("xyz","xyz","abd","qwe","rty","yui","poi")),
OrderDate=as.Date(c("2013-07-01","2013-07-01","2013-07-03","2013-06-01","2013-06-02","2013-06-03","2013-07-01"))
)

DT.eg <- as.data.table(df)
#Gives unique order counts
DT.eg[, list(orderlength = length(unique(orderID)) ),customerID]
#Gives counts of all orders by customer
DT.eg[,.SD, keyby=list(orderID, customerID)][, .N, by=customerID]

^
|
This should be .N, not .SD ~ R.S.

最佳答案

如果您要计算每个客户的唯一购买次数,请使用

 DT[, .N, keyby=list(customerId, OrderNo)][, .N, by=customerId]

关于r - 有效使用 R data.table 和 unique(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19555310/

24 4 0