我想基於包含以下列的數據來創建摘要:數據彙總
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