2016-08-18 32 views
1

我知道你可以使用inspect看到每個交易的內容,然後自己提取物品,但有沒有一種方便的方法來獲取屬於所有物品的清單交易?如何獲取包裝arules中的交易中的物品清單

+1

這將是更容易幫助您用[重複的例子(http://stackoverflow.com/questions/5963269 /如何對化妝一個偉大-R重現-例子)。也許你甚至可以在軟件包幫助頁面中加入一個,並清楚說明你想要提取什麼信息以及如何存儲它。 – MrFlick

回答

1
a_list <- list(# Create example data 
     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 
trans1 <- as(a_list, "transactions") 

## analyze transactions 
summary(trans1) 
image(trans1) 

# if you want an actual list structure: 
trans1 <- as(a_list, "list") 

這是它從image()情節:

enter image description here

一個更大的 transactions對象

現在:

data("Adult") 
adult_list <- as(Adult, "list") 
1

有r包叫做data.table,讓您做這種類型的交易聚合。

例如:

data <- data.frame( 
        transactionID = c("1001", "1001", "1002", "1003", "1003", "1003"), 
        item= c("A", "B", "B", "A", "B", "C") 
       ) 

一種方式來獲得屬於交易的所有項目的列表:

骨料項目按交易。 Data.table

enter image description here

其他方式,由功能split

data.aggregate <- split(data$item, data$transactionID) 
> data.aggregate 
$`1001` 
[1] A B 
Levels: A B C 

$`1002` 
[1] B 
Levels: A B C 

$`1003` 
[1] A B C 
Levels: A B C 
相關問題