r语言 - 将规则从二元事务矩阵的先验输出限制为分配值 1 的项目



我正在尝试子集化,以便 rhs 和 lhs 上的所有项目都设置为 1,但这不起作用。有没有其他方法可以确保我在规则的 LHS 和 RHS 上的项目都是"1"?我使用了以下代码。

rules = apriori(cosdat1, parameter=list(support=0.28, confidence=0.3, minlen=2, target="rules"))
summary(rules)
rules.sub <- subset(rules, subset = lhs %in% c("Bag=1","Blush=1","Nail.Polish=1","Brushes=1","Concealer=1","Eyebrow.Pencils=1","Bronzer=1","Lip.liner=1","Mascara=1","Eye.shadow=1","Foundation=1","Lip.Gloss=1","Lipstick=1","Eyeliner=1"));
rules.sub
rules.sub1 <- subset(rules, subset = rhs %in% c("Bag=1","Blush=1","Nail.Polish=1","Brushes=1","Concealer=1","Eyebrow.Pencils=1","Bronzer=1","Lip.liner=1","Mascara=1","Eye.shadow=1","Foundation=1","Lip.Gloss=1","Lipstick=1","Eyeliner=1"));
rules.sub1

由于您没有提供数据,因此很难确认,但我相信您几乎就在那里。您的第一个子集语句给出了 lhs 仅包含=1的规则(对 rhs 没有限制(。您的第二个子集语句给出了 rhs 仅包含=1的规则(对 lhs 没有限制(。若要使限制同时适用于双方,请将第二个语句应用于第一个语句的结果。

rules.sub1 <- subset(rules.sub, subset = rhs %in% c("Bag=1","Blush=1",
"Nail.Polish=1","Brushes=1","Concealer=1","Eyebrow.Pencils=1","Bronzer=1",
"Lip.liner=1","Mascara=1","Eye.shadow=1","Foundation=1",
"Lip.Gloss=1","Lipstick=1","Eyeliner=1"));

最新更新