前段時間,我問了一個關於創建購物籃數據的問題。現在我想創建一個類似的data.frame,但基於第三個變量。不幸的是,我遇到了問題。上一個問題:Effecient way to create market basket matrix in R
@shadow和@ SimonO101給了我很好的答案,但是我無法正確改變他們的anwser。我有以下數據:基於第三變量(數值)的聯合表
Customer <- as.factor(c(1000001,1000001,1000001,1000001,1000001,1000001,1000002,1000002,1000002,1000003,1000003,1000003))
Product <- as.factor(c(100001,100001,100001,100004,100004,100002,100003,100003,100003,100002,100003,100008))
input <- data.frame(Customer,Product)
我現在可以創建一個列聯表方式如下:
input_df <- as.data.frame.matrix(table(input))
但是我有我想作爲表輸出三分之一(數字)變量。
Number <- c(3,1,-4,1,1,1,1,1,1,1,1,1)
input <- data.frame(Customer,Product,Number)
現在代碼(當然,現在有3個變量)不再工作。我所查找的結果具有唯一的Customer作爲行名稱和唯一的Product作爲列名稱。並擁有數量價值(或0,如果不存在),這個數字可以由下式計算:
input_agg <- aggregate(Number ~ Customer + Product, data = input, sum)
希望我的問題是清楚的,請評論,如果事情是不明確。
+1再重複的例子。 –
您是否能夠成功完成「聚合」步驟? – A5C1D2H2I1M1N2O1R2T1