The e-sport industry is growing.The revenues reached 950.6 million $ in 2019. When most of industries was struggling in 2020 because of pandemic e-sport was developing. One of the most popular game is League of Legends (LoL). LoL is team-based strategy where two teams of five champions face off to destroy the other’s base. The 2020 Season World Championship (Worlds 2020) is the conclusion of the 2020 League of Legends e-sports season.
In my article I want to analyze draft pick of champions in LoL, I will focus on ban phase in which every player can ban one champ. To find some rules and relations I will use association rules.
The data contains a set of information of all games from Worlds 2019. I download this dataset from Kaggle (https://www.kaggle.com/xmorra/league-of-legends-world-championship-2019). I modified the data in Python to get only baskets of champions banned in each game. Almost each basket contains 5 champions, 1 basket for each team per game. I gather data from 119 games of Worlds 2019.
Firstly, I load needed libraries.I used read.transaction() function to convert my dataset to proper format for analys.
library(arules)
## Loading required package: Matrix
##
## Attaching package: 'arules'
## The following objects are masked from 'package:base':
##
## abbreviate, write
library(arulesViz)
## Loading required package: grid
library(arulesCBA)
trans1<-read.transactions("lol8.csv", format="basket", sep=",", skip=0, quote="")
summary(size(trans1))
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.000 5.000 5.000 4.996 5.000 5.000
Now I can display my dataset.
inspect(trans1)
## items
## [1] {Akali,Elise,Gangplank,Olaf,Qiyana}
## [2] {Cassiopeia,Heimerdinger,Kai'Sa,Pantheon,Syndra}
## [3] {Caitlyn,Draven,Qiyana,Syndra,Yuumi}
## [4] {Elise,Gangplank,Pantheon,Rumble,Skarner}
## [5] {Kayle,Morgana,Pyke,Qiyana,Thresh}
## [6] {Lucian,Pantheon,Rakan,Vladimir,Xayah}
## [7] {Gangplank,Irelia,Lucian,Qiyana,Yasuo}
## [8] {Heimerdinger,Nocturne,Pantheon,Skarner,Thresh}
## [9] {Irelia,Qiyana,Renekton,Rumble,Xayah}
## [10] {Jarvan IV,Pantheon,Skarner,Syndra,Vladimir}
## [11] {Cassiopeia,Renekton,Syndra,Twisted Fate,Yuumi}
## [12] {Akali,Gragas,Nocturne,Pantheon,Qiyana}
## [13] {Alistar,Gragas,Kennen,Quinn,Yuumi}
## [14] {Elise,Karthus,Pantheon,Syndra,Taliyah}
## [15] {Gangplank,Gragas,Olaf,Qiyana,Twisted Fate}
## [16] {Elise,Ezreal,Kai'Sa,LeBlanc,Pantheon}
## [17] {Draven,Irelia,Syndra,Xayah,Yuumi}
## [18] {Alistar,Gragas,Nautilus,Pantheon,Qiyana}
## [19] {Gragas,Morgana,Qiyana,Rek'Sai,Xayah}
## [20] {Elise,Jayce,Olaf,Renekton,Yuumi}
## [21] {Gragas,LeBlanc,Rek'Sai,Xayah,Yuumi}
## [22] {Elise,Jarvan IV,Pantheon,Qiyana,Syndra}
## [23] {LeBlanc,Morgana,Nautilus,Pantheon,Thresh}
## [24] {Akali,Jayce,Karthus,Renekton,Xayah}
## [25] {Cassiopeia,Heimerdinger,Syndra,Twisted Fate,Yuumi}
## [26] {Akali,Pantheon,Qiyana,Ryze,Xayah}
## [27] {Gangplank,Karma,Neeko,Skarner,Vladimir}
## [28] {Kayle,Morgana,Pantheon,Qiyana,Thresh}
## [29] {Galio,Heimerdinger,Karma,Nocturne,Thresh}
## [30] {LeBlanc,Lucian,Pantheon,Ryze,Yasuo}
## [31] {Leona,Morgana,Nautilus,Syndra,Vladimir}
## [32] {Lucian,Pantheon,Qiyana,Rumble,Tristana}
## [33] {Ashe,Kai'Sa,Qiyana,Xayah,Yasuo}
## [34] {Gnar,Pantheon,Syndra,Twisted Fate,Vladimir}
## [35] {Jax,Kayle,Qiyana,Rek'Sai,Xayah}
## [36] {Gangplank,Gnar,Olaf,Pantheon,Skarner}
## [37] {Heimerdinger,Nocturne,Qiyana,Rakan,Shen}
## [38] {Gangplank,Olaf,Pantheon,Rumble,Skarner}
## [39] {Irelia,Qiyana,Ryze,Syndra,Yuumi}
## [40] {Gragas,LeBlanc,Leona,Pantheon,Renekton}
## [41] {Irelia,LeBlanc,Leona,Pantheon,Tristana}
## [42] {Elise,Gragas,Olaf,Qiyana,Renekton}
## [43] {Akali,Gragas,Qiyana,Rakan,Renekton}
## [44] {Draven,Nautilus,Pantheon,Syndra,Thresh}
## [45] {Galio,Nautilus,Olaf,Rek'Sai,Renekton}
## [46] {Ashe,Gragas,Morgana,Pantheon,Tristana}
## [47] {Elise,Kled,Pyke,Qiyana,Renekton}
## [48] {Draven,Gangplank,Gragas,Kai'Sa,Pantheon}
## [49] {Galio,Gragas,LeBlanc,Renekton,Syndra}
## [50] {Morgana,Pantheon,Qiyana,Thresh,Tristana}
## [51] {Caitlyn,Draven,Gragas,Kai'Sa,Rek'Sai}
## [52] {Lissandra,Pantheon,Qiyana,Renekton,Syndra}
## [53] {Caitlyn,Kled,Ornn,Syndra,Tristana}
## [54] {LeBlanc,Pantheon,Ryze,Vladimir,Xayah}
## [55] {LeBlanc,Lee Sin,Olaf,Renekton,Xayah}
## [56] {Caitlyn,Elise,Pantheon,Syndra,Vayne}
## [57] {Elise,Ornn,Rek'Sai,Syndra,Tristana}
## [58] {Alistar,LeBlanc,Morgana,Pantheon,Xayah}
## [59] {LeBlanc,Nautilus,Rakan,Renekton,Taliyah}
## [60] {Braum,Pantheon,Pyke,Syndra,Tristana}
## [61] {Camille,Draven,Irelia,Lee Sin,Qiyana}
## [62] {Lissandra,Pantheon,Rakan,Syndra,Twisted Fate}
## [63] {Ashe,Lee Sin,Lucian,Olaf,Qiyana}
## [64] {Alistar,Nautilus,Pantheon,Rakan,Syndra}
## [65] {Camille,Lee Sin,Olaf,Qiyana,Rakan}
## [66] {Gangplank,Irelia,LeBlanc,Pantheon,Rumble}
## [67] {Gangplank,Gragas,Jarvan IV,Rek'Sai,Tristana}
## [68] {Irelia,Pantheon,Qiyana,Renekton,Xayah}
## [69] {Corki,Galio,Pyke,Qiyana,Renekton}
## [70] {Gragas,Pantheon,Quinn,Syndra,Tristana}
## [71] {Elise,Gangplank,Gragas,Rek'Sai,Tristana}
## [72] {Galio,Mordekaiser,Pantheon,Pyke,Syndra}
## [73] {Ezreal,Lee Sin,Pyke,Qiyana,Vladimir}
## [74] {Akali,Elise,Gragas,Nocturne,Pantheon}
## [75] {Gnar,Jinx,LeBlanc,Qiyana,Xayah}
## [76] {Nautilus,Pantheon,Rakan,Syndra,Twisted Fate}
## [77] {Heimerdinger,Kayle,Syndra,Twisted Fate,Veigar}
## [78] {Gangplank,LeBlanc,Pantheon,Sivir,Xayah}
## [79] {Heimerdinger,Kayle,Rek'Sai,Syndra,Twisted Fate}
## [80] {Gangplank,Gragas,LeBlanc,Pantheon,Qiyana}
## [81] {Akali,Gangplank,Gnar,Kennen,LeBlanc}
## [82] {Fiddlesticks,Kayle,Pantheon,Syndra,Twisted Fate}
## [83] {Akali,Heimerdinger,Kayle,Pantheon,Yasuo}
## [84] {Gangplank,Gnar,Kennen,LeBlanc,Shen}
## [85] {Elise,Qiyana,Rakan,Renekton,Vayne}
## [86] {Gragas,Pantheon,Sylas,Syndra,Twisted Fate}
## [87] {Elise,Jarvan IV,Qiyana,Rek'Sai,Rumble}
## [88] {Alistar,Kai'Sa,Leona,Morgana,Pantheon}
## [89] {Jarvan IV,Kayle,Morgana,Renekton,Ryze}
## [90] {LeBlanc,Pantheon,Qiyana,Syndra,Vladimir}
## [91] {Kled,Morgana,Syndra,Xayah,Yuumi}
## [92] {Heimerdinger,Kayle,Lee Sin,Pantheon,Renekton}
## [93] {Gangplank,Kayle,Lucian,Qiyana,Ryze}
## [94] {Aatrox,Pantheon,Renekton,Syndra,Tristana}
## [95] {Cassiopeia,Kai'Sa,Nocturne,Olaf,Xayah}
## [96] {Lee Sin,Pantheon,Qiyana,Rek'Sai,Yuumi}
## [97] {Karma,Kayle,LeBlanc,Morgana,Ryze}
## [98] {Akali,Elise,Gangplank,Kalista,Pantheon}
## [99] {Gangplank,Qiyana,Rakan,Rumble,Vayne}
## [100] {Kayle,LeBlanc,Pantheon,Syndra,Twisted Fate}
## [101] {Fiora,Jayce,Kayle,Qiyana,Syndra}
## [102] {Galio,Jarvan IV,Kled,LeBlanc,Pantheon}
## [103] {Gragas,Irelia,LeBlanc,Renekton,Vladimir}
## [104] {Kayle,Pantheon,Rek'Sai,Syndra,Twisted Fate}
## [105] {Gangplank,Quinn,Rakan,Syndra,Twisted Fate}
## [106] {Ezreal,Kayle,Pantheon,Qiyana,Xayah}
## [107] {Kai'Sa,Quinn,Rek'Sai,Twisted Fate,Veigar}
## [108] {Pantheon,Pyke,Qiyana,Syndra,Xayah}
## [109] {Galio,Lee Sin,Morgana,Renekton,Syndra}
## [110] {Irelia,LeBlanc,Pantheon,Qiyana,Yasuo}
## [111] {Akali,Gangplank,Jarvan IV,Kled,LeBlanc}
## [112] {Irelia,Kayle,Pantheon,Syndra}
## [113] {Ezreal,Jhin,Nautilus,Syndra,Xayah}
## [114] {Alistar,Blitzcrank,Kayle,Pantheon,Qiyana}
## [115] {Heimerdinger,Irelia,Lee Sin,Qiyana,Yuumi}
## [116] {Gragas,Jayce,LeBlanc,Pantheon,Xayah}
## [117] {LeBlanc,Quinn,Rakan,Thresh,Tristana}
## [118] {Kai'Sa,Lucian,Pantheon,Qiyana,Renekton}
## [119] {Heimerdinger,Kled,Renekton,Veigar,Yuumi}
## [120] {Akali,Galio,Pantheon,Syndra,Yasuo}
## [121] {Gangplank,Pyke,Syndra,Twisted Fate,Yuumi}
## [122] {Gragas,Pantheon,Qiyana,Renekton,Vladimir}
## [123] {Kai'Sa,Kayle,Morgana,Renekton,Ryze}
## [124] {Elise,Pantheon,Rumble,Skarner,Taliyah}
## [125] {Akali,Elise,Kayle,Vladimir,Yasuo}
## [126] {Jarvan IV,Olaf,Pantheon,Qiyana,Xayah}
## [127] {Akali,Ezreal,Jayce,Kennen,Yasuo}
## [128] {Kayle,Pantheon,Renekton,Tristana,Twisted Fate}
## [129] {Akali,Elise,Irelia,LeBlanc,Tristana}
## [130] {Kayle,Pantheon,Qiyana,Renekton,Twisted Fate}
## [131] {Akali,LeBlanc,Leona,Nocturne,Yuumi}
## [132] {Ezreal,Lucian,Pantheon,Ryze,Xayah}
## [133] {Kayle,LeBlanc,Ryze,Syndra,Xayah}
## [134] {Akali,Elise,Karthus,Pantheon,Yuumi}
## [135] {Akali,Gangplank,Nautilus,Qiyana,Tristana}
## [136] {Blitzcrank,Morgana,Pantheon,Rakan,Syndra}
## [137] {Jayce,LeBlanc,Nautilus,Syndra,Xayah}
## [138] {Heimerdinger,Pantheon,Qiyana,Veigar,Yuumi}
## [139] {Kayle,LeBlanc,Renekton,Rumble,Ryze}
## [140] {Gragas,Nocturne,Olaf,Pantheon,Qiyana}
## [141] {Akali,Renekton,Syndra,Tristana,Yuumi}
## [142] {Jhin,LeBlanc,Pantheon,Veigar,Xayah}
## [143] {Akali,Gangplank,Gnar,Nautilus,Xayah}
## [144] {Ezreal,Kayle,Lucian,Pantheon,Qiyana}
## [145] {Akali,Nautilus,Olaf,Rek'Sai,Xayah}
## [146] {Kayle,Lucian,Pantheon,Qiyana,Varus}
## [147] {Garen,Gragas,Renekton,Tristana,Twisted Fate}
## [148] {Elise,Pantheon,Qiyana,Rek'Sai,Yasuo}
## [149] {Fiora,Renekton,Syndra,Tristana,Veigar}
## [150] {Gangplank,Irelia,Jayce,Pantheon,Yuumi}
## [151] {Akali,Ezreal,Irelia,Qiyana,Yasuo}
## [152] {Kayle,LeBlanc,Pantheon,Renekton,Tristana}
## [153] {Irelia,Rakan,Renekton,Yasuo,Yuumi}
## [154] {Heimerdinger,Pantheon,Qiyana,Sivir,Veigar}
## [155] {Akali,Irelia,Qiyana,Renekton,Tristana}
## [156] {Gangplank,Kennen,Pantheon,Rakan,Yuumi}
## [157] {Galio,Nautilus,Renekton,Volibear,Yuumi}
## [158] {Elise,Leona,Pantheon,Rakan,Syndra}
## [159] {Akali,Gangplank,Renekton,Ryze,Yuumi}
## [160] {Elise,Pantheon,Syndra,Twisted Fate,Yasuo}
## [161] {Akali,Elise,Nautilus,Renekton,Twisted Fate}
## [162] {Karma,Morgana,Pantheon,Tahm Kench,Xayah}
## [163] {Aatrox,Rakan,Syndra,Twisted Fate,Yuumi}
## [164] {Ezreal,Nautilus,Pantheon,Qiyana,Rumble}
## [165] {Cassiopeia,Kayle,Rakan,Twisted Fate,Yuumi}
## [166] {Nautilus,Pantheon,Qiyana,Renekton,Ryze}
## [167] {Camille,Galio,Lee Sin,Renekton,Tahm Kench}
## [168] {Elise,Gangplank,Pantheon,Pyke,Rumble}
## [169] {Gangplank,Morgana,Qiyana,Quinn,Rumble}
## [170] {Jarvan IV,Jayce,Pantheon,Renekton,Yasuo}
## [171] {Blitzcrank,Jarvan IV,Kayle,Nautilus,Qiyana}
## [172] {Leona,Pantheon,Rakan,Twisted Fate,Veigar}
## [173] {Akali,Kayle,LeBlanc,Rakan,Vladimir}
## [174] {Irelia,Pantheon,Qiyana,Renekton,Syndra}
## [175] {Akali,Irelia,Qiyana,Renekton,Vladimir}
## [176] {Jarvan IV,LeBlanc,Pantheon,Rakan,Ryze}
## [177] {Kayle,Nautilus,Qiyana,Rumble,Vladimir}
## [178] {Akali,Elise,Kai'Sa,Pantheon,Renekton}
## [179] {Draven,Kayle,LeBlanc,Qiyana,Ryze}
## [180] {Blitzcrank,Camille,Gragas,Pantheon,Renekton}
## [181] {Gnar,Kayle,Orianna,Rumble,Syndra}
## [182] {Akali,Gragas,LeBlanc,Pantheon,Qiyana}
## [183] {Jarvan IV,Kayle,Lee Sin,Rakan,Skarner}
## [184] {Akali,Jayce,Lissandra,Pantheon,Syndra}
## [185] {Akali,Kled,LeBlanc,Renekton,Ryze}
## [186] {Jayce,Kayle,Pantheon,Sona,Vayne}
## [187] {Gragas,Renekton,Ryze,Syndra,Vladimir}
## [188] {Akali,Elise,Pantheon,Qiyana,Rek'Sai}
## [189] {Akali,Camille,Kled,LeBlanc,Renekton}
## [190] {Fiora,Gragas,Jayce,Olaf,Pantheon}
## [191] {LeBlanc,Lucian,Renekton,Syndra,Yasuo}
## [192] {Akali,Elise,Pantheon,Qiyana,Ryze}
## [193] {Akali,Gangplank,Gragas,Jax,Lee Sin}
## [194] {Jarvan IV,Kled,Pantheon,Qiyana,Renekton}
## [195] {Kled,Qiyana,Renekton,Ryze,Yasuo}
## [196] {Akali,Pantheon,Pyke,Rakan,Xayah}
## [197] {Akali,Gangplank,Gragas,Pyke,Rakan}
## [198] {Pantheon,Qiyana,Tahm Kench,Vayne,Xayah}
## [199] {Akali,Gangplank,Jax,Ornn,Veigar}
## [200] {Kled,Pantheon,Qiyana,Renekton,Xayah}
## [201] {Akali,Camille,Nautilus,Qiyana,Quinn}
## [202] {Elise,Pantheon,Renekton,Ryze,Yasuo}
## [203] {Akali,Kayle,Nautilus,Qiyana,Quinn}
## [204] {Pantheon,Syndra,Xayah,Yasuo,Yuumi}
## [205] {Akali,Ezreal,Qiyana,Renekton,Yuumi}
## [206] {Elise,Ornn,Pantheon,Syndra,Xayah}
## [207] {Akali,Alistar,Leona,Qiyana,Renekton}
## [208] {Elise,LeBlanc,Pantheon,Rakan,Syndra}
## [209] {Akali,Jayce,Kayle,Renekton,Ryze}
## [210] {Nautilus,Pantheon,Qiyana,Syndra,Xayah}
## [211] {Gragas,LeBlanc,Morgana,Qiyana,Xayah}
## [212] {Akali,Camille,Pantheon,Renekton,Syndra}
## [213] {Cho'gath,Gangplank,Gragas,Qiyana,Xayah}
## [214] {Akali,Elise,Pantheon,Syndra,Taliyah}
## [215] {Nautilus,Ornn,Pyke,Qiyana,Xayah}
## [216] {Akali,Blitzcrank,Elise,Ezreal,Pantheon}
## [217] {Akali,Braum,Kai'Sa,Kayle,Tahm Kench}
## [218] {Kalista,Lucian,Pantheon,Ryze,Xayah}
## [219] {LeBlanc,Qiyana,Renekton,Rumble,Ryze}
## [220] {Akali,Jayce,Kayle,Pantheon,Xayah}
## [221] {Akali,Kai'Sa,Kayle,Leona,Vladimir}
## [222] {Pantheon,Rakan,Renekton,Rumble,Ryze}
## [223] {Lee Sin,Qiyana,Rek'Sai,Renekton,Ryze}
## [224] {Akali,Leona,Pantheon,Syndra,Xayah}
## [225] {Olaf,Ornn,Qiyana,Quinn,Syndra}
## [226] {Akali,Elise,Nautilus,Pantheon,Tristana}
## [227] {Akali,Elise,Kai'Sa,Kayle,Syndra}
## [228] {Olaf,Pantheon,Qiyana,Rek'Sai,Xayah}
## [229] {Kayle,Kled,Qiyana,Syndra,Yasuo}
## [230] {Akali,Fiora,Jax,Pantheon,Rakan}
## [231] {Akali,Jax,Kai'Sa,LeBlanc,Renekton}
## [232] {Kayle,Pantheon,Ryze,Thresh,Xayah}
## [233] {Gragas,Kai'Sa,Olaf,Rek'Sai,Syndra}
## [234] {Blitzcrank,Braum,Pantheon,Qiyana,Xayah}
## [235] {Gangplank,Kayle,Nautilus,Qiyana,Renekton}
## [236] {Olaf,Pantheon,Rek'Sai,Syndra,Xayah}
## [237] {Gragas,Kai'Sa,Olaf,Rek'Sai,Syndra}
## [238] {Akali,Pantheon,Qiyana,Rakan,Rumble}
In the table below we can see absolute number of appearance of all elements in data. The most often banned champion was Pantheon (118), it means that he was banned almost in all games.
itemFrequency(trans1, type="absolute")
## Aatrox Akali Alistar Ashe Blitzcrank Braum
## 2 54 7 3 6 3
## Caitlyn Camille Cassiopeia Cho'gath Corki Draven
## 4 7 5 1 1 7
## Elise Ezreal Fiddlesticks Fiora Galio Gangplank
## 34 11 1 4 10 33
## Garen Gnar Gragas Heimerdinger Irelia Jarvan IV
## 1 7 34 13 19 13
## Jax Jayce Jhin Jinx Kai'Sa Kalista
## 5 13 2 1 17 2
## Karma Karthus Kayle Kennen Kled LeBlanc
## 4 3 43 5 12 44
## Lee Sin Leona Lissandra Lucian Mordekaiser Morgana
## 13 10 3 12 1 18
## Nautilus Neeko Nocturne Olaf Orianna Ornn
## 25 1 8 20 1 6
## Pantheon Pyke Qiyana Quinn Rakan Rek'Sai
## 118 12 86 9 28 21
## Renekton Rumble Ryze Shen Sivir Skarner
## 61 17 26 2 2 8
## Sona Sylas Syndra Tahm Kench Taliyah Thresh
## 1 1 66 4 4 9
## Tristana Twisted Fate Varus Vayne Veigar Vladimir
## 21 23 1 5 9 16
## Volibear Xayah Yasuo Yuumi
## 1 45 18 26
To better visualise frequency I plot the relative frequency of fisrt 20 champions in the fig below.
itemFrequencyPlot(trans1, topN=20, type="relative", main="Item Frequency")
To invastigate some realtions I run apriori algorithm. I set support parameter to 0.025 and confidence to 0.3. The algorithm isolated 32 rules. They are presented in table below.
rules.basket <- apriori(trans1, parameter = list(supp = 0.025, conf = 0.5, minlen=2, maxlen=5))
## Apriori
##
## Parameter specification:
## confidence minval smax arem aval originalSupport maxtime support minlen
## 0.5 0.1 1 none FALSE TRUE 5 0.025 2
## maxlen target ext
## 5 rules TRUE
##
## Algorithmic control:
## filter tree heap memopt load sort verbose
## 0.1 TRUE TRUE FALSE TRUE 2 TRUE
##
## Absolute minimum support count: 5
##
## set item appearances ...[0 item(s)] done [0.00s].
## set transactions ...[76 item(s), 238 transaction(s)] done [0.00s].
## sorting and recoding items ... [46 item(s)] done [0.00s].
## creating transaction tree ... done [0.00s].
## checking subsets of size 1 2 3 done [0.00s].
## writing ... [32 rule(s)] done [0.00s].
## creating S4 object ... done [0.00s].
inspect(rules.basket)
## lhs rhs support confidence coverage
## [1] {Skarner} => {Pantheon} 0.02521008 0.7500000 0.03361345
## [2] {Thresh} => {Pantheon} 0.02521008 0.6666667 0.03781513
## [3] {Leona} => {Pantheon} 0.02521008 0.6000000 0.04201681
## [4] {Galio} => {Renekton} 0.02521008 0.6000000 0.04201681
## [5] {Ezreal} => {Qiyana} 0.02521008 0.5454545 0.04621849
## [6] {Ezreal} => {Pantheon} 0.02521008 0.5454545 0.04621849
## [7] {Kled} => {Renekton} 0.02941176 0.5833333 0.05042017
## [8] {Pyke} => {Qiyana} 0.02521008 0.5000000 0.05042017
## [9] {Lucian} => {Qiyana} 0.02941176 0.5833333 0.05042017
## [10] {Lucian} => {Pantheon} 0.03361345 0.6666667 0.05042017
## [11] {Lee Sin} => {Qiyana} 0.02941176 0.5384615 0.05462185
## [12] {Jayce} => {Pantheon} 0.02941176 0.5384615 0.05462185
## [13] {Jarvan IV} => {Pantheon} 0.02941176 0.5384615 0.05462185
## [14] {Rumble} => {Qiyana} 0.03781513 0.5294118 0.07142857
## [15] {Rumble} => {Pantheon} 0.03781513 0.5294118 0.07142857
## [16] {Yasuo} => {Pantheon} 0.03781513 0.5000000 0.07563025
## [17] {Irelia} => {Qiyana} 0.04621849 0.5789474 0.07983193
## [18] {Twisted Fate} => {Syndra} 0.06302521 0.6521739 0.09663866
## [19] {Ryze} => {Renekton} 0.05462185 0.5000000 0.10924370
## [20] {Rakan} => {Pantheon} 0.05882353 0.5000000 0.11764706
## [21] {Elise} => {Pantheon} 0.09243697 0.6470588 0.14285714
## [22] {Xayah} => {Pantheon} 0.10924370 0.5777778 0.18907563
## [23] {Syndra} => {Pantheon} 0.15126050 0.5454545 0.27731092
## [24] {Syndra,Twisted Fate} => {Pantheon} 0.03361345 0.5333333 0.06302521
## [25] {Pantheon,Twisted Fate} => {Syndra} 0.03361345 0.7272727 0.04621849
## [26] {Rakan,Syndra} => {Pantheon} 0.02521008 0.7500000 0.03361345
## [27] {Gragas,Qiyana} => {Pantheon} 0.02521008 0.5000000 0.05042017
## [28] {Akali,Elise} => {Pantheon} 0.03781513 0.6428571 0.05882353
## [29] {Elise,Syndra} => {Pantheon} 0.03361345 0.8000000 0.04201681
## [30] {Syndra,Xayah} => {Pantheon} 0.02521008 0.5454545 0.04621849
## [31] {Qiyana,Xayah} => {Pantheon} 0.04201681 0.5555556 0.07563025
## [32] {Qiyana,Syndra} => {Pantheon} 0.02521008 0.5454545 0.04621849
## lift count
## [1] 1.512712 6
## [2] 1.344633 6
## [3] 1.210169 6
## [4] 2.340984 6
## [5] 1.509514 6
## [6] 1.100154 6
## [7] 2.275956 7
## [8] 1.383721 6
## [9] 1.614341 7
## [10] 1.344633 8
## [11] 1.490161 7
## [12] 1.086050 7
## [13] 1.086050 7
## [14] 1.465116 9
## [15] 1.067797 9
## [16] 1.008475 9
## [17] 1.602203 11
## [18] 2.351779 15
## [19] 1.950820 13
## [20] 1.008475 14
## [21] 1.305085 22
## [22] 1.165348 26
## [23] 1.100154 36
## [24] 1.075706 8
## [25] 2.622590 8
## [26] 1.512712 6
## [27] 1.008475 6
## [28] 1.296610 9
## [29] 1.613559 8
## [30] 1.100154 6
## [31] 1.120527 10
## [32] 1.100154 6
plot(rules.basket, method="matrix", measure="lift")
## Itemsets in Antecedent (LHS)
## [1] "{Pantheon,Twisted Fate}" "{Twisted Fate}"
## [3] "{Galio}" "{Kled}"
## [5] "{Ryze}" "{Elise,Syndra}"
## [7] "{Irelia}" "{Skarner}"
## [9] "{Rakan,Syndra}" "{Lee Sin}"
## [11] "{Lucian}" "{Pyke}"
## [13] "{Thresh}" "{Elise}"
## [15] "{Ezreal}" "{Akali,Elise}"
## [17] "{Rumble}" "{Leona}"
## [19] "{Xayah}" "{Qiyana,Xayah}"
## [21] "{Syndra}" "{Syndra,Xayah}"
## [23] "{Qiyana,Syndra}" "{Jayce}"
## [25] "{Jarvan IV}" "{Syndra,Twisted Fate}"
## [27] "{Yasuo}" "{Rakan}"
## [29] "{Gragas,Qiyana}"
## Itemsets in Consequent (RHS)
## [1] "{Pantheon}" "{Qiyana}" "{Renekton}" "{Syndra}"
plot(rules.basket, method="graph", control=list(type="items"))
## Warning: Unknown control parameters: type
## Available control parameters (with default values):
## main = Graph for 32 rules
## nodeColors = c("#66CC6680", "#9999CC80")
## nodeCol = c("#EE0000FF", "#EE0303FF", "#EE0606FF", "#EE0909FF", "#EE0C0CFF", "#EE0F0FFF", "#EE1212FF", "#EE1515FF", "#EE1818FF", "#EE1B1BFF", "#EE1E1EFF", "#EE2222FF", "#EE2525FF", "#EE2828FF", "#EE2B2BFF", "#EE2E2EFF", "#EE3131FF", "#EE3434FF", "#EE3737FF", "#EE3A3AFF", "#EE3D3DFF", "#EE4040FF", "#EE4444FF", "#EE4747FF", "#EE4A4AFF", "#EE4D4DFF", "#EE5050FF", "#EE5353FF", "#EE5656FF", "#EE5959FF", "#EE5C5CFF", "#EE5F5FFF", "#EE6262FF", "#EE6666FF", "#EE6969FF", "#EE6C6CFF", "#EE6F6FFF", "#EE7272FF", "#EE7575FF", "#EE7878FF", "#EE7B7BFF", "#EE7E7EFF", "#EE8181FF", "#EE8484FF", "#EE8888FF", "#EE8B8BFF", "#EE8E8EFF", "#EE9191FF", "#EE9494FF", "#EE9797FF", "#EE9999FF", "#EE9B9BFF", "#EE9D9DFF", "#EE9F9FFF", "#EEA0A0FF", "#EEA2A2FF", "#EEA4A4FF", "#EEA5A5FF", "#EEA7A7FF", "#EEA9A9FF", "#EEABABFF", "#EEACACFF", "#EEAEAEFF", "#EEB0B0FF", "#EEB1B1FF", "#EEB3B3FF", "#EEB5B5FF", "#EEB7B7FF", "#EEB8B8FF", "#EEBABAFF", "#EEBCBCFF", "#EEBDBDFF", "#EEBFBFFF", "#EEC1C1FF", "#EEC3C3FF", "#EEC4C4FF", "#EEC6C6FF", "#EEC8C8FF", "#EEC9C9FF", "#EECBCBFF", "#EECDCDFF", "#EECFCFFF", "#EED0D0FF", "#EED2D2FF", "#EED4D4FF", "#EED5D5FF", "#EED7D7FF", "#EED9D9FF", "#EEDBDBFF", "#EEDCDCFF", "#EEDEDEFF", "#EEE0E0FF", "#EEE1E1FF", "#EEE3E3FF", "#EEE5E5FF", "#EEE7E7FF", "#EEE8E8FF", "#EEEAEAFF", "#EEECECFF", "#EEEEEEFF")
## edgeCol = c("#474747FF", "#494949FF", "#4B4B4BFF", "#4D4D4DFF", "#4F4F4FFF", "#515151FF", "#535353FF", "#555555FF", "#575757FF", "#595959FF", "#5B5B5BFF", "#5E5E5EFF", "#606060FF", "#626262FF", "#646464FF", "#666666FF", "#686868FF", "#6A6A6AFF", "#6C6C6CFF", "#6E6E6EFF", "#707070FF", "#727272FF", "#747474FF", "#767676FF", "#787878FF", "#7A7A7AFF", "#7C7C7CFF", "#7E7E7EFF", "#808080FF", "#828282FF", "#848484FF", "#868686FF", "#888888FF", "#8A8A8AFF", "#8C8C8CFF", "#8D8D8DFF", "#8F8F8FFF", "#919191FF", "#939393FF", "#959595FF", "#979797FF", "#999999FF", "#9A9A9AFF", "#9C9C9CFF", "#9E9E9EFF", "#A0A0A0FF", "#A2A2A2FF", "#A3A3A3FF", "#A5A5A5FF", "#A7A7A7FF", "#A9A9A9FF", "#AAAAAAFF", "#ACACACFF", "#AEAEAEFF", "#AFAFAFFF", "#B1B1B1FF", "#B3B3B3FF", "#B4B4B4FF", "#B6B6B6FF", "#B7B7B7FF", "#B9B9B9FF", "#BBBBBBFF", "#BCBCBCFF", "#BEBEBEFF", "#BFBFBFFF", "#C1C1C1FF", "#C2C2C2FF", "#C3C3C4FF", "#C5C5C5FF", "#C6C6C6FF", "#C8C8C8FF", "#C9C9C9FF", "#CACACAFF", "#CCCCCCFF", "#CDCDCDFF", "#CECECEFF", "#CFCFCFFF", "#D1D1D1FF", "#D2D2D2FF", "#D3D3D3FF", "#D4D4D4FF", "#D5D5D5FF", "#D6D6D6FF", "#D7D7D7FF", "#D8D8D8FF", "#D9D9D9FF", "#DADADAFF", "#DBDBDBFF", "#DCDCDCFF", "#DDDDDDFF", "#DEDEDEFF", "#DEDEDEFF", "#DFDFDFFF", "#E0E0E0FF", "#E0E0E0FF", "#E1E1E1FF", "#E1E1E1FF", "#E2E2E2FF", "#E2E2E2FF", "#E2E2E2FF")
## alpha = 0.5
## cex = 1
## itemLabels = TRUE
## labelCol = #000000B3
## measureLabels = FALSE
## precision = 3
## layout = NULL
## layoutParams = list()
## arrowSize = 0.5
## engine = igraph
## plot = TRUE
## plot_options = list()
## max = 100
## verbose = FALSE
I ploted relations on graph but it is not clear. I decide to use arulesViz package to creat interactive graph. Now we can easily display relations by champions or rules. The colour of rule inform us about confidence of rule and the size will inform us about support.
plot(rules.basket, method="graph", measure="support", shading="lift", engine="html", main="Dynamiczny graf dla 17 reguł")
## Warning: Unknown control parameters: main
## Available control parameters (with default values):
## itemCol = #CBD2FC
## nodeCol = c("#EE0000", "#EE0303", "#EE0606", "#EE0909", "#EE0C0C", "#EE0F0F", "#EE1212", "#EE1515", "#EE1818", "#EE1B1B", "#EE1E1E", "#EE2222", "#EE2525", "#EE2828", "#EE2B2B", "#EE2E2E", "#EE3131", "#EE3434", "#EE3737", "#EE3A3A", "#EE3D3D", "#EE4040", "#EE4444", "#EE4747", "#EE4A4A", "#EE4D4D", "#EE5050", "#EE5353", "#EE5656", "#EE5959", "#EE5C5C", "#EE5F5F", "#EE6262", "#EE6666", "#EE6969", "#EE6C6C", "#EE6F6F", "#EE7272", "#EE7575", "#EE7878", "#EE7B7B", "#EE7E7E", "#EE8181", "#EE8484", "#EE8888", "#EE8B8B", "#EE8E8E", "#EE9191", "#EE9494", "#EE9797", "#EE9999", "#EE9B9B", "#EE9D9D", "#EE9F9F", "#EEA0A0", "#EEA2A2", "#EEA4A4", "#EEA5A5", "#EEA7A7", "#EEA9A9", "#EEABAB", "#EEACAC", "#EEAEAE", "#EEB0B0", "#EEB1B1", "#EEB3B3", "#EEB5B5", "#EEB7B7", "#EEB8B8", "#EEBABA", "#EEBCBC", "#EEBDBD", "#EEBFBF", "#EEC1C1", "#EEC3C3", "#EEC4C4", "#EEC6C6", "#EEC8C8", "#EEC9C9", "#EECBCB", "#EECDCD", "#EECFCF", "#EED0D0", "#EED2D2", "#EED4D4", "#EED5D5", "#EED7D7", "#EED9D9", "#EEDBDB", "#EEDCDC", "#EEDEDE", "#EEE0E0", "#EEE1E1", "#EEE3E3", "#EEE5E5", "#EEE7E7", "#EEE8E8", "#EEEAEA", "#EEECEC", "#EEEEEE")
## precision = 3
## igraphLayout = layout_nicely
## interactive = TRUE
## engine = visNetwork
## max = 100
## selection_menu = TRUE
## degree_highlight = 1
## verbose = FALSE
In this article, I used association rules to invastigate realtions and rules on champions bans during Worlds 2019. I found that Pantheon was most commonly banned champion on that event. The rule 23 {Syndra}=>{Pantheon} was rule with the highest support and rule 25 {Pantheon, Twisted Fate}=>{Syndra} was that one with highest confidence.