我有數據顯示客戶購買了某些項目。他們可以多次購買物品。我需要的是一個表格,其中顯示了所有可能的成對物品組合以及購買該組合的客戶的唯一數量(表格的對角線將只是購買每件物品的唯一人數)。使用R中的一列中的所有值對創建表,計算唯一值
下面是一個例子:
item <- c("h","h","h","j","j")
customer <- c("a","a","b","b","b")
test.data <- data.frame(item,customer)
這裏是test.data:
item customer
h a
h a
h b
j b
j b
結果所需要的 - 與項目作爲行和列名的表,具有獨特的客戶數在桌子內購買一雙。因此,2位顧客購買了物品h,1購買了物品h和j,併購買了1件物品j。
item h j
h 2 1
j 1 1
我已經使用表函數試圖,melt
/cast
等,但沒有得到我,我需要在表內計數。我的第一步是使用unique()
擺脫重複的行。
你是在談論3客戶,但我只看到2在你的'測試。 data'。 – Jaap
您將無法將此擴展到兩個項目之外。也許你應該考慮代表它的另一種方式。 – Frank
@Jaap,顧客b同時購買了項目h和j,因此它們被包括在所有四種組合中(表格中的內容是「購買h的兩位顧客也購買了h」,「購買h的一位顧客也購買了j」和「1購買j的顧客也購買了j「 - 是的,對角線值解釋是奇怪的,但那正是我需要的。 – user1228982