如何转换矩阵推荐

时间:2013-09-09 07:53:29

标签: r matrix

我必须在基于用户的协作过滤

上创建推荐矩阵

我在数据框中有值为

> df.user.item

  uname      Item
 user1          I1
 user2          I2
 user3          I3
 user2          I4
 user1          I5
 user1          I6

我需要将其更改为以下矩阵:

        Item
 uname  I1  I2  I3  I4  I5  I6
 user1  1   NA  NA  NA  1   1
 user2  NA  1   NA  1   NA  NA
 user3  NA  NA  1   NA  NA  NA

 OR

        Item
 uname  I1  I2  I3  I4  I5  I6
 user1  1   0   0   0   1   1
 user2  0   1   0   1   0   0
 user3  0   0   1   0   0   0

1 个答案:

答案 0 :(得分:1)

您正在寻找的功能是table。假设您的data.frame被称为“mydf”:

> table(mydf)
       Item
uname   I1 I2 I3 I4 I5 I6
  user1  1  0  0  0  1  1
  user2  0  1  0  1  0  0
  user3  0  0  1  0  0  0

如果存在重复的“uname”+“Item”组合的可能性,并且您只对您所显示的二进制矩阵感兴趣,则可以将命令更改为(table(mydf) > 0)*1