分享

read.transactions函数

 脑系科数据科学 2020-06-08

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"))

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多