我有一个包含销售的数据框。我需要将 df 聚合 2 列ProductID
and Day
并对不同列中每个聚合组的值求和Amount
现在它显示总数。我希望保留也可以分组的其他列(行之间的值相同),在这种情况下只是Product
。最后一栏Store
不会保留,因为分组行内的值可能会有所不同。但是,我需要添加一列UniqueStores
,它计算每组相同 ProductID 和 Day 的唯一商店数量。例如,ID=1 且 Day=Monday 的第一个组将有 1 个唯一商店“N”,因此值将为 1。
我尝试在此处以文本形式起草表格,但无法正确格式化它,因此这里是聚合之前的外观图像:
我尝试过使用 group_by + summarize 和 df[sum,by] 进行聚合,但它们不会保留未作为索引给出的变量。是否有解决方法,而无需手动插入剩余的每一列?
预先感谢,我希望我说清楚了。
输入值:
df <- data.frame("ProductID" = c(1,1,1,1,2,2,2,2), "Day"=c("Monday","Monday", "Tuesday", "Tuesday","Wednesday", "Wednesday", "Friday", "Friday"), "Amount"=c(5,5,3,7,6,9,5,2), "Product"=c("Food","Food","Food","Food","Toys","Toys","Toys","Toys"), "Store"=c("N","N","W","N", "S","W", "S","S"))