我有一个包含以下变量的数据集 - Bill_Number、Item_Name、Quantity。一个 Bill_Number 下可以有多个 Item_Name。我试图通过 Bill_Number 和 Quantity 来总结它,其中 Item_Names 被连接到每个账单编号的单个变量中。这里的解决方案:组合几个行变量适用于有限和预定义的框架(如下所示),但我有数百个 Item_Names。我确信有一种更简单的方法可以做到这一点。有人可以帮忙吗?
数据(仅样本):
BillN<-c('B1','B1','B1','B1','B2','B2','B2','B2','B3','B3','B3','B3')
Item_Name<-c('Prod A','Prod B','Prod C','Prod D','Prod A','Prod B','Prod C','Prod D','Prod A','Prod B','Prod C','Prod D') # going on to Product(n)
Quantity<-c(1,2,1,2,1,2,1,1,1,2,1,1)
输出:使用ply::ddply
ddply(within(Dummy1, {
Item_Name <- ifelse(Item_Name %in% c('Prod A','Prod B','Prod C'), 'Prod A + Prod B + Prod C', 'Prod D')
}), .(BillN, Item_Name), summarise, Count=sum(Quantity))
这取决于“Prod D”是一个单独的行,而我需要一个给定数量的所有产品和该账单号码的总数量的组合。
我需要的输出格式如下:
而我从上面的代码中得到的输出是:
扩展场景,如果我有更多变量,例如每个 Item_Name 的 Brand、Category、Sub_category 和 Sales_Amount 作为数字变量来进一步求和,会发生什么?
如果您需要更多信息或有疑问,请告诉我。
谢谢,拉乌尔