我如何使用 R 编程在 cSPADE 中使用序列的最小长度

Ama*_*eet 3 analytics r pattern-matching sequential

假设我的 cSPADE 输出类似于以下内容,如何防止单节点。因为我更关心获得两个或多个元素之间的模式。无论如何我可以输入最小长度吗?

          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**
Run Code Online (Sandbox Code Playgroud)

jen*_*wen 5

我知道这是一个老问题,但我想分享一个我个人在这个主题上未能找到太多帮助后想到的答案,以防其他人偶然发现这个问题。

我未能直接在 cspade 中找到允许从一开始就不输出这些序列的选项,但您可以在事后消除它们。

您可以做的是使用 arulesSequences 包中的函数 size() 。请参阅 ?size 了解更多详细信息,但假设您将 cspade 输出保存为“seq”,您可以对 cspade 输出进行子集化,如下所示:

myupdatedseq<-seq[size(seq,"itemsets")>1]
Run Code Online (Sandbox Code Playgroud)

或同等地,

myupdatedseq<-subset(seq, subset = size(x,"itemsets")>1)
Run Code Online (Sandbox Code Playgroud)

请参阅 arulesSequences 包中的 ?subset 以获得子集化序列的更多帮助。