Learn R Programming

⚠️There's a newer version (1.7-9) of this package.Take me there.

arules - Mining Association Rules and Frequent Itemsets - R package

This R package provides the infrastructure for representing, manipulating and analyzing transaction data and patterns (frequent itemsets and association rules). Also provides interfaces to C implementations of the association mining algorithms Apriori and Eclat.

Additional packages in the arules family are:

Installation

  • Stable CRAN version: install from within R.
  • Current development version: Download package from AppVeyor or install via install_git("mhahsler/arules") (needs devtools)

Example

R> library("arules")
R> data("Adult")

R> ## Mine association rules
R> rules <- apriori(Adult, parameter = list(supp = 0.5, conf = 0.9, target = "rules"))

Parameter specification:
 confidence minval smax arem  aval originalSupport support minlen maxlen target   ext
        0.9    0.1    1 none FALSE            TRUE     0.5      1     10  rules FALSE

Algorithmic control:
 filter tree heap memopt load sort verbose
    0.1 TRUE TRUE  FALSE TRUE    2    TRUE

Absolute minimum support count: 24421 

apriori - find association rules with the apriori algorithm
version 4.21 (2004.05.09)        (c) 1996-2004   Christian Borgelt
set item appearances ...[0 item(s)] done [0.00s].
set transactions ...[115 item(s), 48842 transaction(s)] done [0.03s].
sorting and recoding items ... [9 item(s)] done [0.00s].
creating transaction tree ... done [0.03s].
checking subsets of size 1 2 3 4 done [0.00s].
writing ... [52 rule(s)] done [0.00s].
creating S4 object  ... done [0.01s].

R> ## Show some basic statistics
R> summary(rules)
set of 52 rules

rule length distribution (lhs + rhs):
 1  2  3  4 
 2 13 24 13 

   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  1.000   2.000   3.000   2.923   3.250   4.000 

summary of quality measures:
    support         confidence          lift       
 Min.   :0.5084   Min.   :0.9031   Min.   :0.9844  
 1st Qu.:0.5415   1st Qu.:0.9155   1st Qu.:0.9937  
 Median :0.5974   Median :0.9229   Median :0.9997  
 Mean   :0.6436   Mean   :0.9308   Mean   :1.0036  
 3rd Qu.:0.7426   3rd Qu.:0.9494   3rd Qu.:1.0057  
 Max.   :0.9533   Max.   :0.9583   Max.   :1.0586  

mining info:
  data ntransactions support confidence
 Adult         48842     0.5        0.9

R> ## Inspect rules with the highest lift
R> inspect(head(sort(rules, by = "lift")))
    lhs                               rhs                              support confidence     lift
[1] {sex=Male,                                                                                    
     native-country=United-States} => {race=White}                   0.5415421  0.9051090 1.058554
[2] {sex=Male,                                                                                    
     capital-loss=None,                                                                           
     native-country=United-States} => {race=White}                   0.5113632  0.9032585 1.056390
[3] {race=White}                   => {native-country=United-States} 0.7881127  0.9217231 1.027076
[4] {race=White,                                                                                  
     capital-loss=None}            => {native-country=United-States} 0.7490480  0.9205626 1.025783
[5] {race=White,                                                                                  
     sex=Male}                     => {native-country=United-States} 0.5415421  0.9204803 1.025691
[6] {race=White,                                                                                  
     capital-gain=None}            => {native-country=United-States} 0.7194628  0.9202807 1.025469

Further Information

Maintainer: Michael Hahsler

Copy Link

Version

Install

install.packages('arules')

Monthly Downloads

25,344

Version

1.5-0

License

GPL-3

Maintainer

Michael Hahsler

Last Published

October 2nd, 2016

Functions in arules (1.5-0)

coverage

Calculate coverage for rules
tidLists-class

Class ``tidLists'' --- Transaction ID Lists for Items/Itemsets
APappearance-class

Class ``APappearance'' --- Specifying the `appearance' Argument of apriori() to Implement Rule Templates
apriori

Mining Associations with Apriori
itemFrequency

Getting Frequency/Support for Single Items
crossTable

Cross-tabulate joint occurrences across pairs of items
itemFrequencyPlot

Creating a Item Frequencies/Support Bar Plot
Mushroom

Mushroom Data Set
AScontrol-classes

Classes ``AScontrol'', ``APcontrol'', ``ECcontrol'' --- Specifying the `control' Argument of apriori() and eclat()
ASparameter-classes

Classes ``ASparameter'', ``APparameter'', ``ECparameter'' --- Specifying the `parameter' Argument of apriori() and eclat()
discretize

Convert a Continuous Variable into a Categorical Variable
dissimilarity

Dissimilarity Computation
Income

Income Data Set
is.significant

Find Significant Rules
supportingTransactions

Supporting Transactions
is.redundant

Find Redundant Rules
ruleInduction

Rule Induction for a Set of Itemsets
read.PMML

Read and Write PMML
rules-class

Class ``rules'' --- A Set of Rules
[-methods

Methods for "[": Extraction or Subsetting in Package 'arules'
predict

Model Predictions
proximity-classes

Classes ``dist'', ``ar\_cross\_dissimilarity'' and ``ar\_similarity'' --- Proximity Matrices
read.transactions

Read Transaction Data
random.transactions

Simulate a Random Transaction Data Set
inspect

Display Associations and Transactions in Readable Form
length

Getting the Number of Elements
LIST

List Representation for Objects Based on ``itemMatrix''
itemSetOperations

Itemwise Set Operations
size

Getting the Size of Each Element
transactions-class

Class ``transactions'' --- Binary Incidence Matrix for Transactions
unique

Remove Duplicated Elements from a Collection
duplicated

Find Duplicated Elements
eclat

Mining Associations with Eclat
sample

Random Samples and Permutations
setOperations

Set Operations
weclat

Mining Associations from Weighted Transaction Data with Eclat (WARM)
write

Writes transactions or associations to disk
addComplement

Add Complement-items to Transactions
abbreviate

Abbreviate function for item labels in transactions, itemMatrix and associations
Groceries

Groceries Data Set
Epub

Epub Data Set
is.superset

Find Super and Subsets
match

Value Matching
merge

Merging (adding) items
itemCoding

Item Coding -- Handling Item Labels and Column IDs Conversions
sort

Sorting Associations
subset

Subsetting Itemsets, Rules and Transactions
hits

Computing Transaction Weights With HITS
image

Visual Inspection of Binary Incidence Matrices
SunBai

The SunBai Data Set
support

Support Counting for Itemsets
associations-class

Class ``associations'' - A Set of Associations
Adult

Adult Data Set
affinity

Computing Affinity Between Items
is.closed

Find Closed Itemsets
is.maximal

Find Maximal Itemsets
itemMatrix-class

Class ``itemMatrix'' --- Sparse Binary Incidence Matrix to Represent Sets of Items
combine

Combining Objects
itemsets-class

Class ``itemsets'' --- A Set of Itemsets