hh<-read.csv("MT_MBR_CTGR_BUY_PTTRN_DAY.csv")
library(arules)
aa<-subset(hh, select=c(mbr_no,ctgr_flag_nm))
'data.frame': 643241 obs. of 2 variables:
$ mbr_no : num 2.01e+14 2.01e+14 2.01e+14 2.01e+14 2.01e+14 ...
$ ctgr_flag_nm: Factor w/ 7 levels "그린핑거","기저귀",..: 1 4 4 4 4 4 4 4 7 7 ...
aa$mbr_no<-as.factor(aa$mbr_no)
rioter.transaction<-as(aa, "transactions")
rioter.transaction
transactions in sparse format with
643241 transactions (rows) and
178834 items (columns)
rules = apriori(rioter.transaction)
summary(rules)
set of 0 rules
为什么我有0条规则?
我想做read.transactions
或mbr_no以其他方式进行类型转换
但它仍然无法正常工作
我该如何解决?
答案 0 :(得分:0)
您的变量mbr_no
似乎是连续的,数据中出现了178834-7个不同的值。您需要将连续变量离散化。 as.factor
不会这样做,而是为变量的每个不同值分配一个级别。所以你应该做这样的事情:
aa$mbr_no <- discretize(aa$mbr_no)
discretize
是arules
包的一部分(请参阅? discretize
)。