强制cspade使用R包序列仅查看涉及特定项的规则
是否可以强制cspade只查看涉及特定项目的规则? 例如,以下代码提供的输出显示了根据cspade函数中的参数创建的所有规则:强制cspade使用R包序列仅查看涉及特定项的规则,r,R,是否可以强制cspade只查看涉及特定项目的规则? 例如,以下代码提供的输出显示了根据cspade函数中的参数创建的所有规则: library(Matrix) library(arules) library(arulesSequences) x <- read_baskets(con = system.file("misc", "zaki.txt", package = "arulesSequences"), info = c("sequenceID","e
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}的项(我所有的sequenceid都包含D)
对于我所拥有的数据,它更大,包含更多的项目、序列和事件。所有SequenceID都在某处包含{D},但是{D}是一个罕见的事件,我只想看看是什么导致了{D}。我对这样的规则不感兴趣
我知道我可以将支持设置为非常低,以尝试捕获{D}出现的所有时间,但我的计算机不会运行它,因为数据太多
我看过stackoverflow和其他站点上的许多arulesSequences示例,但还没有找到如何做到这一点。为什么不能在arules包中使用
subset
函数?我可能错了,但从我看到的示例中可以看出,subset函数是在制定规则后执行的。我试图在制定规则时进行子集划分,以便不对某些规则进行评估。
as(s1, "data.frame") %>%
filter(grepl("D", sequence, fixed = TRUE))