R package arules Select 规则所有的 rhs=1 和所有的 lhs=1

R package arules Select rules which all the rhs=1 and all the lhs=1

我有一个大数据集(0 和 1 的矩阵),有 20 个变量(每个变量是一个项目)和大约 100 行(每行是一个事务)。我在 R 中使用 "arules" 包进行关联规则挖掘。

我只对 rhs=1 和 lhs=1 的规则感兴趣(我的意思是如果以后要使用数据,所有项目都必须为真)。 我不知道如何 select 或对我的规则进行分类以仅保留我需要的规则。

例如我的数据:

{hautvert=1,basintermediaire=1}  => {basvert=1}  0.1190476 1.0000000   4.941176
1235 {hautlarge=1,basbleu=0}          => {basvert=1}  0.1309524 0.9166667  4.529412
1274 {hautvert=1,basblanc=0}          => {basvert=1}  0.2023810 0.8947368  4.421053
1808 {hautlarge=1,pantalon=1}         => {baslarge=1} 0.1071429 1.0000000  4.421053
1811 {hautbleu=1,hautlarge=1}         => {baslarge=1} 0.1071429 1.0000000  4.421053
1889 {basbleu=1,pantalon=1}           => {baslarge=1} 0.1071429 1.0000000  4.421053
2261 {hautintermediaire=1,pantalon=1} => {basblanc=1} 0.1428571 1.0000000  4.200000
2291 {basserre=1,pantalon=1}          => {basblanc=1} 0.1428571 1.0000000  4.200000
2294 {hautbleu=0,pantalon=1}          => {basblanc=1} 0.1428571 1.0000000  4.200000
1256 {hautvert=1,basserre=0}          => {basvert=1}  0.2023810 0.8095238  4.000000

我只需要规则,例如第一行 lhs 上的两项都等于 1,rhs 也等于 1。

非常感谢您的帮助。

查看 ?arules::subset?`%pin%`?aprioriminlen 在详细信息部分):

library(arules)
data("Adult")
rules <- apriori(Adult, parameter = list(minlen = 2)) 
rules.sub <- subset(rules, subset = lhs %pin% "relationship" & rhs %pin% "sex" & lift > 1.4 & support > 0.4)
as(rules.sub, "data.frame")
#                                                                      rules   support confidence     lift
# 80                                    {relationship=Husband} => {sex=Male} 0.4036485  0.9999493 1.495851
# 550 {marital-status=Married-civ-spouse,relationship=Husband} => {sex=Male} 0.4034028  0.9999492 1.495851