itemMatrix
class is the basic building block
for transactions, itemsets and rules in package arules.
The class contains a sparse Matrix representation of items (a set of
itemsets or transactions) and the corresponding item labels.
new("itemMatrix",
...)
.
However, most of the time objects will be created by coercion from a
matrix, list or data.frame.itemCoding
to learn how to encode and recode itemMatrix objects.
LIST
,
c
,
duplicated
,
inspect
,
is.subset
,
is.superset
,
itemFrequency
,
itemFrequencyPlot
,
itemCoding
,
match
,
length
,
sets
,
subset
,
unique
,
[-methods
,
image
,
ngCMatrix-class
(from Matrix),
transactions-class
,
itemsets-class
,
rules-class
set.seed(1234)
## Generate random data and coerce data to itemMatrix.
m <- matrix(runif(100000)>0.8, ncol=20)
dimnames(m) <- list(NULL, paste("item", c(1:20), sep=""))
i <- as(m, "itemMatrix")
## Get the number of elements (rows) in the itemMatrix.
length(i)
## Get first 5 elements (rows) of the itemMatrix as list.
as(i[1:5], "list")
## Get first 5 elements (rows) of the itemMatrix as matrix.
as(i[1:5], "matrix")
## Get first 5 elements (rows) of the itemMatrix as sparse ngCMatrix.
## Warning: for efficiency reasons, the ngCMatrix you get is transposed!
as(i[1:5], "ngCMatrix")
## Get labels for the first 5 itemsets (first default and then with
## custom formating)
labels(i[1:5])
labels(i[1:5], itemSep = " + ", setStart = "", setEnd = "")
## create itemsets from itemMatrix
is <- new("itemsets", items = i[1:3])
inspect(is)
## create rules (rhs and lhs cannot share items so I use
## itemSetdiff here). Also assign (random) support.
rules <- new("rules", lhs=itemSetdiff(i[4:6],i[1:3]), rhs=i[1:3],
quality = data.frame(support = runif(3)))
inspect(rules)
Run the code above in your browser using DataLab