В настоящее время я использую пакет arules для анализа потребительской корзины. Мои данные, которые я прочитал, выглядят так (но с большим количеством строк):
>data
transaction_id item
1 1 beer
2 1 beer
3 1 soda
4 2 beer
5 3 beer
6 3 fries
7 3 candy
8 4 soda
9 4 fries
Затем я преобразую его с помощью dcast и удаляю столбец идентификатора транзакции:
> Trans_Table <- dcast(data, transaction_id ~ item)
> Trans_Table$transaction_id <- NULL
и это выглядит так:
beer candy fries soda
1 2 0 0 1
2 1 0 0 0
3 1 1 1 0
4 0 0 1 1
но затем, когда я делаю это в классе «транзакций», чтобы я мог использовать априорную функцию, она преобразует 2 под пивом в 1
> Transactions <- as(as.matrix(Trans_Table), "transactions")
Warning message:
In asMethod(object) :
matrix contains values other than 0 and 1! Setting all entries != 0 to 1.
Есть ли способ выполнить анализ потребительской корзины и сохранить эти 2? Другими словами, я хотел бы увидеть правила для {пиво} => {пиво}, {пиво, пиво} => {газировка} и {пиво, газировка} => {пиво}, но в настоящее время пиво подсчитывается только один раз. за каждую транзакцию, даже если она была куплена дважды.
Кто-нибудь может помочь с этим?