我正在尝试根据包含以下列的数据创建摘要:
    Trx_Date   Brand   Cust_Num   Item_Qty   Item_Price
我正在尝试根据一年中的每周为不同的品牌(角色对象类)创建 Item_Qty 和 Item_Amt 的摘要。我设法通过以下方式创建 Wk_Num:
    Wk_Num <- as.character(strftime(as.POSIXlt(Trx_Date), format="%W"))
我想要做的是获得 Item_Qty 的总和以及每个 Wk_Num+Brand 组合的 Item_Price 的平均值。我设法通过以下方式获得我想要的东西:
   tblsum <- summary(Item_Price + Item_Qty ~ Wk_Num + Brand, data=tblorig, FUN = function(x) { c(m = mean(x), s= sum(x))})
我想要做的是创建另一个列,计算每个特定 Wk_Num+Brand 组合的所有总买家(即渗透率)的买家百分比。我也可以修改上面的代码来计算长度(以获得每个组合的“买家”数量),即
   tblsum <- summary(Item_Price + Item_Qty ~ Wk_Num + Brand, data=tblorig, FUN = function(x) { c(m = mean(x), s= sum(x), l=length(x))})
然而,这也是有缺陷的,因为客户实际上可能在一周内购买了多次,并且他们将被重复计算。
我仍处于R之旅的早期阶段,并试图优雅地编写代码。有没有一种好方法可以组合我从第一个代码构建的数据摘要,以及计算每个 Wk_Num+Brand 组合的唯一 Cust_Num 占唯一 Cust_Num 总数的百分比?
代码的任何改进也将不胜感激。
更新:
样本数据:
 Wk_Num   Brand      Cust_Num   Item_Qty   Item_Price
 11       AAA           001          1          2.1
 11       BBB           001          1          1.4
 11       AAA           002          2          2.1
 12       CCC           003          1          1.5
 12       BBB           001          3          1.4
 12       BBB           001          2          1.4
 12       BBB           004          1          1.5
 12       CCC           004          1          1.5
 13       AAA           002          2          2.2
 13       AAA           001          3          2.1
 13       AAA           003          1          2.2
 13       AAA           004          2          2.1
理想的输出是:
 Wk_Num   Brand     Total Item  Avg Item Price   Penetration
 11       AAA             3        2.10              50%         # 2 out of 4
 11       BBB             1        1.40              25%         # 1 out of 4
 12       BBB             6        1.43              50%         # 2 out of 4 (Cust 001 bought twice in that week)
 12       CCC             1        1.50              25%         # 1 out of 4
 13       AAA             8        2.15             100%         # 4 out of 4