1

我最近由 Arules 包更新到版本 1.5-2,因为我无法从规则集中子集项目列表,所以当我尝试子集“结构错误(seq(长度(标签)),名称时出现以下错误=标签)[i]:无效的下标类型'S4'”这里是一个例子

library(arules)
data("Groceries")

#generate Rules without second record to create an itemset
rules <- apriori(Groceries[-2],parameter = list(supp = 0.05, conf = 0.2,target = "rules"))

#Create an itemlist with second record
enter code here`basket <- Groceries[2]
rulesMatchLHS <- is.subset(rules@lhs,basket)
suitableRules <- rulesMatchLHS & !(is.subset(rules@rhs,basket))
#output
inspect(rules[suitableRules])

提前致谢

4

1 回答 1

2

您的子集向量看起来像一个稀疏矩阵,但需要一个密集的逻辑向量:

suitableRules

7 x 1 sparse Matrix of class "lgCMatrix"
                   {tropical fruit,yogurt,coffee}
{}                                              |
{yogurt}                                        |
{whole milk}                                    .
{rolls/buns}                                    .
{whole milk}                                    .
{other vegetables}                              .
{whole milk}                                    .

as.logical(suitableRules)
[1]  TRUE  TRUE FALSE FALSE FALSE FALSE FALSE

inspect(rules[as.logical(suitableRules)])
    lhs         rhs          support   confidence lift     count
[1] {}       => {whole milk} 0.2555420 0.2555420  1.000000 2513 
[2] {yogurt} => {whole milk} 0.0560301 0.4018964  1.572722  551
于 2017-07-04T03:57:56.123 回答