R-使用arules稀疏矩阵输出作为另一个包的输入?

时间:2018-02-05 02:34:30

标签: r matrix sparse-matrix arules

我使用arules从事务数据中构建一个稀疏矩阵并获得了一些很好的规则。现在我想使用这个矩阵作为市场购物篮分析的输入。显然,itemMatrix类可以强制转换为ncGMatrix类,以便在另一个包中使用,但我不确定如何使用。任何帮助将不胜感激。

原始数据包含从每个客户购买的多个商品(dwid)

dwid    Product.Colorblind
310975  Candy
310975  Fake doodie
310975  House slippers
310975  Canadian flags
310975  Ham
310990  Fake doodie
310990  Candy
310990  Turtle food

我将这些作为交易数据阅读,并找到了一些不错的规则。

dataset <- read.transactions(file="Just Colorblind.csv",format="single",sep=",",cols=c("dwid","Product.Colorblind"),rm.duplicates=TRUE)
summary(dataset)
itemFrequencyPlot(dataset, topN = 40)

rules <- apriori(data = dataset, parameter = list(minlen = 2, support = 0.005, confidence = 0.1))

现在,我只是试图从规则对象中创建一个稀疏矩阵

binary_activity_matrix <- as(rules.itemMatrix, "ngCMatrix")

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

规则对象包含两个稀疏矩阵,一个用于LHS,另一个用于RHS。您有以下选择:

as(lhs(rules.itemMatrix), "ngCMatrix")
as(rhs(rules.itemMatrix), "ngCMatrix")
as(items(rules.itemMatrix), "ngCMatrix")

items产生LHS和RHS的联合。请参阅? rules了解这些方法。