如何从 R 中 arulesSequence 包中的 cspade 算法中删除子序列,例如,如果我的数据(Sample.txt)如下
列名:sequenceID、EventID、size、Item
1 1 1 A
1 2 1 B
1 3 1 C
1 4 1 D
2 1 1 A
2 2 1 B
2 3 1 C
3 1 1 A
3 2 1 B
3 3 1 C
3 4 1 D
运行以下 arulesSequence 代码行后
library("arulesSequences")
#### while importing the Sample.txt remove the column names #####
SymptomArulesSeq <- read_baskets("Sample.txt",sep = "[ \t]+",info = c("sequenceID","eventID","size"))
s1 <- cspade(SymptomArulesSeq, parameter = list(support = 0.1), control = list(verbose = TRUE),tmpdir = tempdir())
summary(s1)
as(s1, "data.frame")
sequence support
<{A}> 1
<{B}> 1
<{C}> 1
<{D}> 0.6666667
<{A},{D}> 0.6666667
<{B},{D}> 0.6666667
<{C},{D}> 0.6666667
<{B},{C},{D}> 0.6666667
<{A},{C},{D}> 0.6666667
<{A},{B},{C},{D}> 0.6666667
<{A},{B},{D}> 0.6666667
<{A},{C}> 1
<{B},{C}> 1
<{A},{B},{C}> 1
<{A},{B}> 1
如何在不丢失项目之间的情况下找到全长序列?
从数据上看,从A开始的主要全长序列是A(1)、A->B(1)、A->B->C(1)和A->B->C->D(0.67) ),所以我怎样才能删除中间子序列并希望得到上述结果。
这里的挑战是如何消除在 B、B->C 等之间形成的序列,以及如何消除 A->B->D 等序列(这里我丢失了实际序列;项目 C 被丢弃)