链接两个表并查找关联表

时间:2012-05-06 16:57:09

标签: r data-analysis

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

设置:

我有两个数据表:

  • “uData”,字段为[user.id,rating,timestamp]
  • “uUser”,包含[user.id,年龄,性别,职业]字段

在uData中,每个用户可以出现多次,而在uUser中,每个用户只出现一次。我已经使用r-studios导入数据集加载了数据。我使用arules,数据集,图形,grDecies,格子,矩阵,方法,统计和工具包。

结束目标:

查找评分,年龄和性别之间的关联规则

Q1

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

Q2

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

  

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

在查看了一些教程之后,我将其用于虚拟数据但不是我加载的数据。我不确定如何将每一行标记为事务。我试过了

  

transactions = read.transactions(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     

1 个答案:

答案 0 :(得分: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