2014-03-06 73 views
0

我在研究R中的推薦系統,並且想要創建用戶對物料採購表。從用戶的物料採購表創建用戶對物料採購表

假設我有一個數據日誌文件,可以導入到R數據框中,其中每行包含一個表示用戶購買給定項目的(userID,itemPurchasedID)元組。例如:

> userID <- c(1, 1, 3, 5, 3, 4) 
> itemPurchasedID <- c(2, 3, 2, 1, 2, 3) 
> data.frame(userID, itemPurchasedID) 
    userID itemPurchasedID 
1  1    2 
2  1    3 
3  3    2 
4  5    1 
5  3    2 
6  4    3 

我想構建相應用戶對項實用程序表中顯示的是用戶購買的,其中用戶是行和項中的項是列:

1 2 3 
1 0 1 1 
3 0 2 0 
4 0 0 1 
5 1 0 0 

例如,上表中示出了用戶購買3 2個單位項2.

回答

1

可以使用table函數與所述數據幀:

> d <- data.frame(userID, itemPurchasedID) 
> t <- table(d) 
> t 
     itemPurchasedID 
userID 1 2 3 
    1 0 1 1 
    3 0 2 0 
    4 0 0 1 
    5 1 0 0 
> t["3","2"] 
[1] 2 
+0

謝謝。 '表'似乎是一個相當強大的功能。 – stackoverflowuser2010

0

您正在尋找的reshape2

library(reshape2) 
df <- data.frame(userID, itemPurchasedID) 
dcast(df, userID~itemPurchasedID)