| transactions-class {arules} | R Documentation |
The transactions class represents transaction data used for
mining itemsets or rules. It is a direct extension of class
itemMatrix to store a binary incidence
matrix, item labels, and optionally transaction IDs and user IDs.
Objects are created by coercion from objects of other classes
(see Examples section) or by
calls of the form new("transactions", ...).
transactionInfo:a data.frame with vectors of the same length as the number of transactions. Each vector can hold additional information, e.g., store transaction IDs or user IDs for each transaction.
data:object of class
ngCMatrix to store the
binary incidence matrix (see
itemMatrix class)
itemInfo:a data.frame to store
item labels (see itemMatrix class)
Class itemMatrix, directly.
signature(from = "matrix", to = "transactions");
produces a transactions data set from a binary incidence matrix.
The row names are used as item labels and the column names are
stores as transaction IDs.
signature(from = "list", to = "transactions");
produces a transactions data set from a list. The names of the
items in the list are used as item labels and the item IDs and the
incidence matrix is produced automatically.
signature(from = "transactions", to = "matrix");
coerces the transactions data set into a binary incidence matrix.
signature(from = "transactions", to = "list");
coerces the transactions data set into a list of transactions.
Each transaction is a vector of character strings (names of the
contained items).
signature(from = "data.frame", to = "transactions");
recodes the data frame containing only categorical variables (all
have to be factors) into a binary transaction data set. The needed
number of dummy items are automatically generated. The item
labels are generated by concatenating variable names and levels with
a "=".
The variable names and levels are stored in the labels data frame
as the components variables and levels.
Note that NA in one of the levels is replaced by the string
“NA”, i.e. the special meaning is lost.
signature(from = "transactions", to = "data.frame");
represents the set of transactions in a printable form
as a data.frame.
Note that this does not reverse coercion from data.frame
to transactions.
signature(x = "transactions");
returns the labels (item labels and transaction IDs)
for the incidence matrix as a list of two vectors named items
and transactionID.
signature(x = "transactions");
replaces the transactionInfo data frame
signature(x = "transactions");
returns transactionInfo
signature(object = "transactions")
signature(object = "transactions")
[-methods,
LIST,
WRITE,
c,
image,
inspect,
read.transactions,
random.transactions,
sets,
itemMatrix-class
## example 1: creating transactions form a list
a_list <- list(
c("a","b","c"),
c("a","b"),
c("a","b","d"),
c("c","e"),
c("a","b","d","e")
)
## set transaction names
names(a_list) <- paste("Tr",c(1:5), sep = "")
a_list
## coerce into transactions
trans <- as(a_list, "transactions")
## analyze transactions
summary(trans)
image(trans)
## example 2: creating transactions from a matrix
a_matrix <- matrix(
c(1,1,1,0,0,
1,1,0,0,0,
1,1,0,1,0,
0,0,1,0,1,
1,1,0,1,1), ncol = 5)
## set dim names
dimnames(a_matrix) <- list(
c("a","b","c","d","e"),
paste("Tr",c(1:5), sep = ""))
a_matrix
## coerce
trans2 <- as(a_matrix, "transactions")
trans2
inspect(trans2)
## example 3: creating transactions from data.frame
a_df <- data.frame(
age = as.factor(c(6,8,7,6,9,5)),
grade = as.factor(c(1,3,1,1,4,1)))
## note: all attributes have to be factors
a_df
## coerce
trans3 <- as(a_df, "transactions")
image(trans3)
## example 4: Creating from data.frame with NA
a_df2 <- sample(c(LETTERS[1:5], NA),10,TRUE)
a_df2 <- data.frame(X = a_df2, Y = sample(a_df2))
a_df2
trans3 <- as(a_df2, "transactions")
trans3
as(trans3, "data.frame")
## example 5: creating transactions from a data.frame with
## transaction IDs and items
a_df3 <- data.frame(TID = c(1,1,2,2,2,3), item=c("a","b","a","b","c", "b"))
a_df3
trans4 <- as(split(a_df3[,"item"], a_df3[,"TID"]), "transactions")
trans4
LIST(trans4)