Я знаю, что вы можете просмотреть содержимое каждой транзакции, используя inspect
, а затем самостоятельно извлечь элементы, но есть ли удобный способ получить список всех элементов, принадлежащих транзакции?
Как получить список элементов в транзакции в пакетных правилах
comment
Было бы проще помочь вам с воспроизводимым примером. Может быть, вы даже можете включить один из справочных страниц пакета и четко указать, какую информацию вы хотите извлечь и как вы хотите ее сохранить.
- person MrFlick   schedule 18.08.2016
Ответы (3)
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()
:
Теперь с большим объектом transactions
:
data("Adult")
adult_list <- as(Adult, "list")
person
Hack-R
schedule
18.08.2016
Существует пакет R под названием data.table
, который позволяет вам выполнять этот тип агрегации транзакций.
Например:
data <- data.frame(
transactionID = c("1001", "1001", "1002", "1003", "1003", "1003"),
item= c("A", "B", "B", "A", "B", "C")
)
Один из способов получить список всех элементов, принадлежащих транзакции:
Агрегировать элементы по транзакциям. Таблица данных
Другой способ, функцией 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
person
Mario M.
schedule
18.08.2016
Возможное простое решение, если ваша цель — просто просмотреть все элементы, содержащиеся во всех транзакциях (то есть полный список элементов), заключается в следующем:
unique(unlist(as(a_list, "list")))
person
PhilipFentruck
schedule
29.05.2019