https://grantliblog./2018/04/23/%E4%BD%BF%E7%94%A8r%E8%AA%9E%E8%A8%80%E9%80%B2%E8%A1%8C%E8%B3%BC%E7%89%A9%E7%B1%83%E5%88%86%E6%9E%90market-basket-analysis/ 你用csv格式导入吧,别用xls,先加载arules包,即library(arules),之后就可以用包里的这个函数read.transactions,这个函数的功能是用来转换格式的,转换为类似Groceries数据集格式,read.transactions的参数为read.transactions(file, format =c("basket", "single"), sep = NULL,cols = NULL, rm.duplicates =FALSE, encoding = "unknown"),file写你的文件地址,format分为basket和single两种,选择一种即可,basket: basket就是篮子,一个顾客买的东西都放到同一个篮子,所有顾客的transactions就是一个个篮子的组合结果。如下形式,每条交易都是独立的。
文件形式:
item1,item2
item1
item2,item3 single: single的意思,顾名思义,就是单独的交易,简单说,交易记录为:顾客1买了产品1, 顾客1买了产品2,顾客2买了产品3……(产品1,产品2,产品3中可以是单个产品,也可以是多个产品),如下形式:
trans1 item1
trans2 item1
trans2 item2 sep:文件中数据是怎么被分隔的,默认为空格,csv文件里面用逗号分隔
cols:对basket, col=1,表示第一列是数据的transaction ids(交易号),如果col=NULL,则表示数据里面没有交易号这一列;对single,col=c(1,2)表示第一列是transaction ids,第二列是item ids 假如现在将csv文件读入,就可用data = read.transactions("jiaoyi.csv",format="basket",sep=",",cols=c(1))或者 data = read.transactions("jiaoyi.csv",format="single",sep=",",cols=c(1,2)) 之后就可以用apriori来进行分析了rules <- apriori(data,parameter = list(supp=0.01,conf=0.5,target="rules"))
|