序列符号的定义...(A),(A> B)和(A) - (A> B)

时间:2014-11-29 21:24:38

标签: traminer

希望快点......

关于seqefsub()操作的输出,请指出输出符号的定义。

更具体地说,例如括号中的括号。

  • (A)意味着什么;
  • 大于登录(A>B)意味着什么;
  • (A)-(A>B)中的连字符意味着什么。
优秀User Guide

Section 10有例子,但我可能错过了一个明确的定义声明。

引用指南Section 10.2中的示例,(Parent)-(Parent>Left)(Parent>Left)之间的概念差异是什么?

谢谢,

戴夫

吉尔伯特发表评论后更新......

在尝试澄清用户指南第106页中我可能错过的内容时,我认为我正在寻找的解释 - 或者至少是确认 - 与以下框架类似。对于可能笨拙的冗长道歉。

此处的上下文是seqefsub()结果出现在控制台中....

(A)这是状态A显示为第一个状态的次数,而不是任何后续状态。也就是说 - 它计算A出现在第一列中的次数。 我在这里假设我没有错过另一个首先计算的配置选项以及此类型的所有后续状态。如果有,请告诉我。

(A>B)这是从A到B的事件发生次数(即状态的变化)。此计数指的是序列中任何地方的事件。 我建议这与上面的州计数略有不同,假设我没有无意中歪曲事情。我注意到约束可以设置为输出单个或多个出现。

(A)-(A>B)这会计算状态A作为第一个状态出现的次数,以及A到B事件出现在序列中任何位置的位置。这包括紧接在第一个州之后的A到B事件,并且可以包括在第一个状态A和事件A到B之间插入其他状态

我希望这会有所帮助,我希望这是一套正确的陈述(基于调查的时间晚于我原来的问题)。

吉尔伯特的评论请求示例后的第二次更新......

对于真实数据集...(其中J和I代替A和B)

> data   
   V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V11
1   I  J  J  I  J  J  I  K  J   D   J
2   G  K  R  I  J  D  J  R  I   J   N
3   K  K  I  R  M  M  K  R  J   K   I
4   R  R  B  R  I  G  R  G  R   G   G
5   J  J  J  J  J  J  J  T  Z   J   Z
6   R  K  R  K  M  R  R  J  J   J   R
7   J  I  I  I  I  I  I  I  I   I   I
8   J  J  J  J  J  J  J  J  J   J   R
9   J  R  J  R  J  R  J  J  I   S   R
10  J  J  J  J  J  I  J  J  J   J   J
11  G  J  J  J  J  I  I  I  R   J   J
12  I  I  D  M  D  I  I  D  I   I   D
13  R  M  R  R  J  J  J  J  J   J   J

然后

> dataseq <- seqdef(data)

> dataseqe <- seqecreate(dataseq)

> datasubseq <- seqefsub(dataseqe, pMinSupport = 0.05)

> datasubseq[1:10]

给出

    Subsequence   Support Count
1          (J) 0.3846154     5
2        (J>I) 0.3846154     5
3        (R>J) 0.3846154     5
4        (J>R) 0.3076923     4
5        (I>J) 0.2307692     3
6    (J)-(J>I) 0.2307692     3
7        (K>R) 0.2307692     3
8          (R) 0.2307692     3
9        (D>J) 0.1538462     2
10         (G) 0.1538462     2

所以......

1)5个J状态(J)的计数仅适用于第一列/事件,而不适用于任何后续J状态。总共有57个J州。

2)5个J状态到I状态变化事件(J>I)的计数是总计数(对于此约束选项),无论何时发生。

3)J状态后跟J状态到I状态子序列(J)-(J>I)的计数是第7行(第1列和第2列),第9行(col)中事件的计数1,和8和9),最后是第10行(第1栏,第5栏和第5栏);最后两个案例在(J)(J>I)之间有干预状态和/或事件。

回到问题 - 这是正确和预期的行为,以及正确的解释。如果是这样,为什么状态计数在不同的基础上完成事件/状态变化计数?

1 个答案:

答案 0 :(得分:3)

在您的示例中,事件序列是从状态序列对象dataseq派生的 seqecreate(dataseq)。由于您未提供tevent参数,因此使用默认tevent = "transition"(请参阅help(seqecreate))。使用此值,事件被定义为从状态A到状态B的转换,并标记为A>B。另外,标记为A的特定事件与序列开始相关联以指示序列开始处的状态。因此,尽管使用了相同的符号,但事件序列中的A是一个事件---开始事件---并且不应该与状态序列中的A混淆。

以上内容仅适用于tevent="transition"选项。例如,对于tevent="state",事件将是法术的开始并标记为A以指示状态A中的法术的开始。在这种情况下,事件A可能出现在序列中的任何位置,而不仅仅是在开始时。

现在关于括号。它们指示转换(或事务),转换被定义为引发状态改变的同时事件集。例如:

(a,b)表示两个事件ab出现在同一时间点,

(A>C)表示我们在时间点有单个事件A>C

(a)-(b)表示长度为2的序列,其中事件a位于事件b之前。

希望这有帮助。