convert data frame in r to transactions or an itemMatrix?

varun cyriac picture varun cyriac · Dec 24, 2013 · Viewed 9.8k times · Source

I have a data that in data.frame format I want to convert it into transactions or an itemMatrix.

Inspects function in arules support these two data format that's why I'm asking this question

Answer

Prasanna Nandakumar picture Prasanna Nandakumar · Dec 24, 2013
library(arules)

example 1: 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 2: 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)