Я читаю данные из файла csv, данные имеют 3 столбца, один - идентификатор транзакции, два других - продукт и категория продукта. Мне нужно преобразовать это в транзакции, чтобы использовать функцию apriori
в правилах. Он показывает ошибку, когда я конвертирую в транзакции:
dat <- read.csv("spss.csv",head=TRUE,sep="," , as.is = T)
dat[,2] <- factor(dat[,2])
dat[,3] <- factor(dat[,3])
spssdat <- dat[,c(1,2,3)]
str(spssdat)
'data.frame': 108919 obs. of 3 variables:
$ Transaction_id: int 3000312 3000312 3001972 3003361 3003361 3003361 3003361 3003361 3003361 3004637 ...
$ product_catalog : Factor w/ 9 levels "AIM","BA","IM",..: 1 1 5 7 7 7 7 7 7 1 ...
$ product : Factor w/ 332 levels "ACM","ACTG/AIM",..: 7 7 159 61 61 61 61 61 61 7 ...
trans4 <- as(spssdat, "transactions")
Error in as(spssdat, "transactions") :
no method or default for coercing “data.frame” to “transactions”
Если данные содержат только два столбца, они могут работать следующим образом:
trans4 <- as(split(spssdat[,2], spssdat[,1]), "transactions")
Но я не знаю, как конвертировать, когда у меня 3 столбца. Обычно есть дополнительные столбцы, такие как атрибуты категорий, атрибуты клиентов. поэтому столбец обычно больше 2 столбцов. нужно найти правила между несколькими столбцами.