my site: https://b04902122.github.io/CSX_R/project_4/apriori.html

Import libraries

library(Matrix)
library(arules)
## 
## Attaching package: 'arules'
## The following objects are masked from 'package:base':
## 
##     abbreviate, write
library(arulesViz)
## Loading required package: grid

Load data

load("/Users/Ymc/Desktop/titanic.raw.rdata")

Apriori rules with rhs containing “Survived” only

rule <- apriori(titanic.raw, 
  parameter=list(minlen=3, supp=0.1, conf=0.7),  
  appearance = list(default="lhs",
  rhs=c("Survived=No", "Survived=Yes")))
## Apriori
## 
## Parameter specification:
##  confidence minval smax arem  aval originalSupport maxtime support minlen
##         0.7    0.1    1 none FALSE            TRUE       5     0.1      3
##  maxlen target   ext
##      10  rules FALSE
## 
## Algorithmic control:
##  filter tree heap memopt load sort verbose
##     0.1 TRUE TRUE  FALSE TRUE    2    TRUE
## 
## Absolute minimum support count: 220 
## 
## set item appearances ...[2 item(s)] done [0.00s].
## set transactions ...[10 item(s), 2201 transaction(s)] done [0.00s].
## sorting and recoding items ... [9 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 4 done [0.00s].
## writing ... [8 rule(s)] done [0.00s].
## creating S4 object  ... done [0.00s].

Remove useless rules

(useless rules will affect result so we need to remove them)

sort.rule <- sort(rule, by="support")
subset.matrix <- as.matrix(is.subset(x=sort.rule, y=sort.rule))
subset.matrix[lower.tri(subset.matrix, diag=T)] <- NA
redundant <- colSums(subset.matrix, na.rm=T) >= 1
sort.rule <- sort.rule[!redundant]

Visualize data

plot(sort.rule)

plot(sort.rule, method="graph")

The result is females are easier to survive, male crews

and 3rd class almost dead