나는 다음과 같은 열이 포함 된 데이터를 기반으로 요약을 만들려고 해요 : 나는 ITEM_QTY의 요약을 만들려고하고데이터 요약
Trx_Date Brand Cust_Num Item_Qty Item_Price
및 각 주에 기반 Item_Amt 다른 브랜드 (문자 개체 클래스)에 대한 올해의. 나는에 의해 Wk_Num을 만들 처리했다 :
Wk_Num <- as.character(strftime(as.POSIXlt(Trx_Date), format="%W"))
는 내가 뭘하려고하면 ITEM_QTY의 합과 각 Wk_Num + 브랜드 조합에 대한 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 + 브랜드에 대한 모든 전체 구매자의 구매자 (즉, 침투)의 비율을 계산하는 다른 열을 만드는 것입니다 콤비네이션. 나뿐만 아니라 길이를 계산하기 위해 위의 코드를 수정할 수 있습니다 즉, (각 조합은 "구매자"의 수를 얻을 수 있습니다)
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 여행을 즐기며 우아하게 코드를 작성하려고합니다. 첫 번째 코드에서 작성한 데이터 요약을 결합하고 Cust_Num의 총 수보다 각 Wk_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
! 비엘 덩크, 스벤! – jacatra