2014-03-06 44 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)