这是我的客户订单数据对于单个客户的样子:
order_no customer_id product amount order_total
23 1 A 100 100
24 1 A 100 300
24 1 B 100 300
24 1 C 100 300
25 1 B 100 100
26 1 A 100 200
26 1 B 100 200
我想计算新列中每个客户的平均订单大小,所以对于这个客户,它将是 175 = (100 + 300 + 100 + 200) / 4:
order_no customer_id amount order_total avg_order_size
23 1 100 100 175
24 1 100 300 175
24 1 100 300 175
24 1 100 300 175
25 1 100 100 175
26 1 100 200 175
26 1 100 200 175
我试过使用这个的某个版本,但没有运气:
customer_stats <- data.table(customer_stats)[, avg_order_size := mean(order_total), by=list(order_no, customer_id)]
我真正需要做的是从每个 order_no 中只选择一行,可能类似于mean
所有order_no[1]
使用by=(customer_id)
?如果有一种方法可以一步完成并跳过创建order_total
,那就更好了。