【问题标题】:Creating user-to-item purchase table from users' item purchase table从用户的物品购买表创建用户到物品的购买表
【发布时间】:2014-03-07 03:59:47
【问题描述】:

我正在探索 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。

【问题讨论】:

    标签: r


    【解决方案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
    

    【讨论】:

    • 谢谢。 'table' 似乎是一个相当强大的功能。
    【解决方案2】:

    您正在寻找reshape2

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-07
      • 1970-01-01
      • 1970-01-01
      • 2021-03-17
      • 2016-03-22
      相关资源
      最近更新 更多