1

我在 r-studio 工作,试图链接两个已经加载的表,然后查找关联规则。

设置:

我有两个数据表:

  • "uData" 字段 [user.id, rating, timestamp]
  • "uUser" 字段 [user.id, age, gender, 职业]

在 uData 中,每个用户可以出现多次,而在 uUser 中,每个用户只列出一次。我已经使用 r-studios 导入数据集加载了数据。我使用 arules、datasets、graphics、grDecies、lattice、Matrix、methods、stats 和 utils 包。

最终目标:

找出评分、年龄和性别之间的关联规则

第一季度

我相信我需要遍历我的 uData 表并从 uUser 中提取每一行的年龄和性别。我不确定如何制作新表,或者是否需要新表来实现我的最终目标。

第二季度

最终目标是尝试找到关联规则。我一直在尝试使用

规则 <- apriori( _ _ , 参数 = 列表(supp = .5, conf = .9, target = " _ "))

在查看了一些教程后,我让它适用于虚拟数据,但不适用于我加载的数据。我不确定如何将每一行标记为事务。我努力了

交易 = 读取交易(uUser)

但这遭到了警告。任何帮助表示赞赏。


以下是来自 uData 的几行数据:

user.id rating  timestamp
1       4   878542420
1       3   888732928
4       4   878542699
1       4   875072547
5       3   875636053

这是来自 uUser 的几行数据:

index   user.id age gender  occupation
1           1   24  M   technician
2           2   53  F   other     
3           3   23  M   writer    
4           4   24  M   technician
5           5   33  F   other     
4

1 回答 1

0

您可以使用 plyr::join 来匹配 user.id 字段,而不是显式循环,然后执行分析:

> library(plyr)
> join(uData, uUser, by='user.id')
  user.id rating timestamp index age gender occupation
1       1      4 878542420     1  24      M technician
2       1      3 888732928     1  24      M technician
3       4      4 878542699     4  24      M technician
4       1      4 875072547     1  24      M technician
5       5      3 875636053     5  33      F      other
于 2012-05-06T21:29:37.840 回答