强制cspade只使用R包arulesSequences

时间:2017-10-26 19:49:49

标签: r

是否可以强制cspade只查看涉及某些项目的规则? 例如,以下代码提供的输出显示了基于cspade函数中的参数创建的所有规则:

library(Matrix)
library(arules)
library(arulesSequences)
x <- read_baskets(con = system.file("misc", "zaki.txt", package = 
"arulesSequences"), 
              info = c("sequenceID","eventID","SIZE"))
s1 <- cspade(x, parameter = list(support = 0.4), control = list(verbose = TRUE))
as(s1, "data.frame")

          sequence support
1            <{A}>    1.00
2            <{B}>    1.00
3            <{D}>    0.50
4            <{F}>    1.00
5          <{A,F}>    0.75
6          <{B,F}>    1.00
7        <{D},{F}>    0.50
8      <{D},{B,F}>    0.50
9        <{A,B,F}>    0.75
10         <{A,B}>    0.75
11       <{D},{B}>    0.50
12       <{B},{A}>    0.50
13       <{D},{A}>    0.50
14       <{F},{A}>    0.50
15   <{D},{F},{A}>    0.50
16     <{B,F},{A}>    0.50
17 <{D},{B,F},{A}>    0.50
18   <{D},{B},{A}>    0.50

我想告诉cspade只查找涉及{D}的规则。我知道在使用以下内容创建所有规则后,我可以过滤出包含{D}的规则:

as(s1, "data.frame") %>%
filter(grepl("D", sequence, fixed = TRUE))

我也知道在运行cspade之前我可以预先过滤,只包含{D}的项目(我的所有SequenceID都包含D)。

对于我拥有的数据,它有更多的项目,序列和事件。所有的sequenceID都在某处包含{D},但{D}是一种罕见的事件,我只想查看导致{D}的原因。我对&lt; {B,F},{A}&gt;等规则不感兴趣。

我知道我可以将支持设置得非常低以尝试捕捉{D}出现的所有时间,但我的计算机因为数据太多而无法运行它。

我查看了stackoverflow和其他网站上的一些arulesSequences示例,但尚未找到如何执行此操作。

0 个答案:

没有答案