スポンサーサイト
-- --, --
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
新しい記事を書く事で広告が消せます。
> test
項目:性別,年齢,地域,主食,おかず,野菜,その他
1 男性,28,関東,餅,NA,NA,醤油
2 男性,27,関東,米,豚肉,タマネギ,NA
3 女性,28,関東,餅,豚肉,ピーマン,味噌
4 男性,30,関西,パン,ハム,タマネギ,醤油
5 女性,31,関西,餅,魚,タマネギ,NA
6 男性,27,関西,パン,ハム,レタス,NA
※NA:欠損値(未回答,未入力を表す)
> install.packages("arules", dependencies=T)
> library(arules)
> data.tran<-as(data, "transactions")
以下にエラー asMethod(object) : column(s) 2 not a factor
> class(test[,2])
[1] "integer"
> test[,2]<-factor(test[,2])
> class(test[,2])
[1] "factor"
> test.tran<-as(test, "transactions")
> as(test.tran, "data.frame")
transactionID items
1 1 {性別=男性,年齢=28,地域=関東,主食=餅,その他=醤油}
2 2 {性別=男性,年齢=27,地域=関東,主食=米,おかず=豚肉,野菜=タマネギ}
3 3 {性別=女性,年齢=28,地域=関東,主食=餅,おかず=豚肉,野菜=ピーマン,その他=味噌}
4 4 {性別=男性,年齢=30,地域=関西,主食=パン,おかず=ハム,野菜=タマネギ,その他=醤油}
5 5 {性別=女性,年齢=31,地域=関西,主食=餅,おかず=魚,野菜=タマネギ}
6 6 {性別=男性,年齢=27,地域=関西,主食=パン,おかず=ハム,野菜=レタス}
> itemFrequencyPlot(test.tran, type="relative")
type="relative" : 相対度数
type="ablsolute" : 絶対度数
> test.ap<-apriori(test.tran)
> inspect(head(sort(test.ap, by="support"),n=10))
lhs rhs support confidence lift
1 {年齢=28} => {主食=餅} 0.3333333 1 2.0
2 {年齢=28} => {地域=関東} 0.3333333 1 2.0
3 {その他=醤油} => {性別=男性} 0.3333333 1 1.5
4 {年齢=27} => {性別=男性} 0.3333333 1 1.5
5 {おかず=ハム} => {主食=パン} 0.3333333 1 3.0
6 {主食=パン} => {おかず=ハム} 0.3333333 1 3.0
7 {おかず=ハム} => {地域=関西} 0.3333333 1 2.0
8 {おかず=ハム} => {性別=男性} 0.3333333 1 1.5
9 {主食=パン} => {地域=関西} 0.3333333 1 2.0
10 {主食=パン} => {性別=男性} 0.3333333 1 1.5
> test.ap.sub <- subset(test.ap, subset=rhs %pin% "おかず") //式の右辺に"おかず"を含む
> inspect(head(sort(test.ap.sub, by="support"),n=10))
lhs rhs support confidence lift
1 {主食=パン} => {おかず=ハム} 0.3333333 1 3
2 {地域=関西,
主食=パン} => {おかず=ハム} 0.3333333 1 3
3 {性別=男性,
主食=パン} => {おかず=ハム} 0.3333333 1 3
4 {性別=男性,
地域=関西} => {おかず=ハム} 0.3333333 1 3
5 {性別=男性,
地域=関西,
主食=パン} => {おかず=ハム} 0.3333333 1 3
6 {野菜=レタス} => {おかず=ハム} 0.1666667 1 3
7 {年齢=31} => {おかず=魚} 0.1666667 1 6
8 {主食=米} => {おかず=豚肉} 0.1666667 1 3
9 {年齢=30} => {おかず=ハム} 0.1666667 1 3
10 {野菜=ピーマン} => {おかず=豚肉} 0.1666667 1 3
Author:CommoJun
junpoooow