arules (version 1.6-6)

itemCoding: Item Coding --- Conversion between Item Labels and Column IDs

Description

Provides the generic functions and the S4 methods to translate between the binary representation in the itemMatrix format (used in transactions, rules and itemsets), item labels and numeric item IDs (i.e., the column numbers in the binary representation).

Usage

encode(x, …)
# S4 method for list
encode(x, itemLabels, itemMatrix = TRUE)
# S4 method for character
encode(x, itemLabels, itemMatrix = TRUE)
# S4 method for numeric
encode(x, itemLabels, itemMatrix = TRUE)

recode(x, …) # S4 method for itemMatrix recode(x, itemLabels = NULL, match = NULL)

decode(x, …) # S4 method for list decode(x, itemLabels) # S4 method for numeric decode(x, itemLabels)

Arguments

x

a vector or a list of vectors of character strings (for encode) or of numeric (for decode), or an object of class itemMatrix (for recode).

itemLabels

a vector of character strings used for coding where the position of an item label in the vector gives the item's column ID. The used itemLabels vector can be obtained from itemMatrix, transactions and associations by the method itemLabels.

itemMatrix

return an object of class itemMatrix otherwise an object of the same class as x is returned.

match

an itemMatrix object whose item coding x should match.

further arguments.

Value

recode always returns an object of class itemMatrix.

For encode with itemMatrix = TRUE an object of class itemMatrix is returned. Otherwise the result is of the same type as x, e.g., a list or a vector.

Details

encode converts from readable item labels to an itemMatrix using a given coding. With this method it is possible to create several compatible itemMatrix objects (i.e., use the same binary representation for items) from data.

recode recodes an itemMatrix object so its coding is compatible with another itemMatrix object specified in match (i.e., the colums are reordered to match).

decode converts from the colun IDs used in the temMatrix representation to item labels. decode is used by LIST.

See Also

LIST, associations-class, itemMatrix-class

Examples

Run this code
# NOT RUN {
data("Adult")

## Example 1: Manual decoding
## get code
iLabels <- itemLabels(Adult)
head(iLabels)

## get undecoded list and decode in a second step
list <- LIST(Adult[1:5], decode = FALSE)
list

decode(list, itemLabels = iLabels)

## Example 2: Manually create an itemMatrix 
data <- list(
    c("income=small", "age=Young"),
    c("income=large", "age=Middle-aged")
    )

iM <- encode(data, iLabels)
iM

inspect(iM)

## use the itemMatrix to create transactions
as(iM, "transactions")


## Example 3: use recode
## select first 100 transactions and all education-related items
sub <- Adult[1:100, itemInfo(Adult)$variables ==  "education"]
itemLabels(sub)
image(sub)

## recode to match Adult again
sub.recoded <- recode(sub, match = Adult)
image(sub.recoded)

## Example 4: manually create 2 new transaction for the Adult data set
##            Note: check itemLabels(Adult) to see the available labels for items
twoTransactions <- as(encode(list(
    c("age=Young", "relationship=Unmarried"), 
    c("age=Senior")
  ), itemLabels = itemLabels(Adult)),
  "transactions")

inspect(twoTransactions)

## Example 5: manually create a rule and calculate interest measures
aRule <- new("rules", 
  lhs = encode(list(c("age=Young", "relationship=Unmarried")), 
    itemLabels = itemLabels(Adult)),
  rhs = encode(list(c("income=small")), 
    itemLabels = itemLabels(Adult))
)

quality(aRule) <- interestMeasure(aRule, 
  measure = c("support", "confidence", "lift"), transactions = Adult)

inspect(aRule)
# }

Run the code above in your browser using DataLab