itemFrequency двух предметов вместе

Предположим, что у меня есть следующие транзакции:

B C A F H
F E C H
E D B
A C H F 
E F A
D H B
E C F B D 
A H C E 
G A E
B H E

Я читаю транзакции в R с помощью функции read.transactions библиотеки arules. Мне нужно частоту конкретных предметов. Например, для "А".

Я могу сделать это с помощью следующего кода R:

itemFrequency(transactions)["A"]

который дает частоту A. Теперь, я хочу частоту, например, "A" и "C" вместе, а затем "A", а не "C". Как я могу сделать это с функцией частоты элемента (это может быть любая другая функция, но мне нужен один номер (частота) в качестве выхода)

1 ответ

Решение

Это сложно!

# add !C (complement of C)
> transactions <- addComplement(transactions, labels = "C")

# manually create itemsets {A,C} and {A,!C}
> itemsets <- encode(list(c("A", "C"), c("A", "!C")), itemLabels(transactions))
> inspect(itemsets)
   items 
1 {A,C} 
2 {A,!C}

# calculate support
> support(itemsets, transactions)
[1] 0.2727273 0.1818182
Другие вопросы по тегам