是否可以强制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示例,但尚未找到如何执行此操作。