アソシエーション分析(バスケット分析)

基本的にアソシエーション分析をするときは、データはlist型で定義したものを
トランザクション型に変換(as(リスト名, "transactions"))して使用するが、
外部データ(csvなど)から読み込むときは、自動的にdata.frame型になってしまう。

外部データからデータを読み込みたいときは、以下のように実行する。

今回使用しているデータは、

行:ID
列:メディア名
値:メディアへの接触フラグ

ただし、この形式でなくともアソシエーション分析はできる。
(※読み込み方は以下とは異なる)
が、実際この形式でデータ持ってることの方が多い気がする…


以下、実行用スクリプト

# トランザクションクラスのデータを作成する
dat <- read.csv("アソシエーション分析用データ.csv", header=TRUE)
dat1 <- as.matrix(dat)
dat2 <- as(dat1, "transactions")

# 各アイテムの頻度をプロットする
itemFrequencyPlot(dat2)

# 相関関係を分析する
res <- apriori(dat2)

# アソシエーションルールの数を出力する
print(res)


# アソシエーションルールのトップ20を表示する
inspect(head(SORT(res, by = "support"), n = 20))


参考
http://mjin.doshisha.ac.jp/R/40/40.html
Rによるアソシエーション分析 - Qiita
kkaneko.com
R言語による アソシエーション分析-組合せ・事象の規則を解明する-(第5回R勉強会@東京)