1

私はr-studioで作業しており、すでにロードされている2つのテーブルをリンクしてから、相関ルールを探しています。

セットアップ:

2つのデータテーブルがあります。

  • [user.id、rating、timestamp]フィールドを持つ「uData」
  • [user.id、age、gender、occupation]のフィールドを持つ「uUser」

uDataでは、各ユーザーは複数回表示される可能性がありますが、uUserでは、各ユーザーは1回だけリストされます。r-studiosインポートデータセットを使用してデータをロードしました。arules、datasets、graphics、grDecies、lattice、Matrix、methods、stats、およびutilsパッケージを使用しています。

最終目標:

評価、年齢、性別の相関ルールを見つける

Q1

uDataテーブルを反復処理し、uUserから各行の年齢と性別を取得する必要があると思います。新しいテーブルを作成する方法や、最終目標を達成するために新しいテーブルが必要かどうかがわかりません。

Q2

最終的な目標は、相関ルールを見つけようとすることです。私は使用しようとしています

ルール<-apriori(_ _、parameter = list(supp = .5、conf = .9、target = " _ "))

いくつかのチュートリアルを調べた後、ダミーデータで機能するようになりましたが、ロードしたデータでは機能しません。各行にトランザクションのラベルを付ける方法がわかりません。私が試してみました

トランザクション=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     
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 に答える