load("titanic.raw.rdata")

##Associating Minig Rule

str(titanic.raw)
## 'data.frame':    2201 obs. of  4 variables:
##  $ Class   : Factor w/ 4 levels "1st","2nd","3rd",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ Sex     : Factor w/ 2 levels "Female","Male": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Age     : Factor w/ 2 levels "Adult","Child": 2 2 2 2 2 2 2 2 2 2 ...
##  $ Survived: Factor w/ 2 levels "No","Yes": 1 1 1 1 1 1 1 1 1 1 ...
library(arules)
## Loading required package: Matrix
## 
## Attaching package: 'arules'
## The following objects are masked from 'package:base':
## 
##     abbreviate, write
rules <- apriori(titanic.raw,parameter = list(minlen=2, supp=0.05, conf=0.8), 
                 appearance = list(rhs=c("Survived=No", "Survived=Yes"),
                  default="lhs"),
                 control = list(verbose=F))

rules.sorted <- sort(rules, by="lift")
inspect(rules.sorted)
##     lhs                                 rhs            support   
## [1] {Class=1st,Sex=Female}           => {Survived=Yes} 0.06406179
## [2] {Class=1st,Sex=Female,Age=Adult} => {Survived=Yes} 0.06360745
## [3] {Class=2nd,Sex=Male,Age=Adult}   => {Survived=No}  0.06996820
## [4] {Class=2nd,Sex=Male}             => {Survived=No}  0.06996820
## [5] {Class=3rd,Sex=Male,Age=Adult}   => {Survived=No}  0.17582917
## [6] {Class=3rd,Sex=Male}             => {Survived=No}  0.19173103
##     confidence lift    
## [1] 0.9724138  3.010243
## [2] 0.9722222  3.009650
## [3] 0.9166667  1.354083
## [4] 0.8603352  1.270871
## [5] 0.8376623  1.237379
## [6] 0.8274510  1.222295
##Pruning Redundant Rule
library(arulesViz)
## Loading required package: grid
## Warning: failed to assign NativeSymbolInfo for lhs since lhs is already
## defined in the 'lazyeval' namespace
## Warning: failed to assign NativeSymbolInfo for rhs since rhs is already
## defined in the 'lazyeval' namespace
plot(rules)

plot(rules, method="graph", control=list(type="items"))

##Vizualizing Association Rules
plot(rules, method="paracoord", control=list(reorder=TRUE))