我想基于包含以下列的数据来创建摘要:数据汇总
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的总和与ITEM_PRICE的每个Wk_Num +品牌组合的平均值。我设法得到我想要通过如下:
tblsum <- summary(Item_Price + Item_Qty ~ Wk_Num + Brand, data=tblorig, FUN = function(x) { c(m = mean(x), s= sum(x))})
我想要做的是创造,它计算所有的总购房者的购房者(即穿透)的每个特定Wk_Num +品牌比例另一列组合。我可以修改上面的代码来计算长度,以及(让“买家”每个组合的数量),即
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 +品牌组合的唯一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
这一工程真的很好! Vielen Dank,斯文! – jacatra