且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

按多列进行汇总,将一列加起来,然后保留其他列?根据汇总值创建新列?

更新时间:2022-01-17 22:32:32

data.table 中:

library(data.table)

setDT(df)[, .(Amount = sum(Amount, na.rm = TRUE),
              UniqueStores = uniqueN(Store, na.rm = TRUE)), 
          by = .(ProductID, Day, Product)
          ]

输出:

   ProductID       Day Product Amount UniqueStores
1:         1    Monday    Food     10            1
2:         1   Tuesday    Food     10            2
3:         2 Wednesday    Toys     15            2
4:         2    Friday    Toys      7            1