【发布时间】:2015-01-23 13:46:26
【问题描述】:
我正在使用 R 包 TraMineR 做一些关于序列分析的学术研究。
我想找到一种模式,定义为某人在目标公司,然后出去,然后回到目标公司。
(简化)我已将状态 A 定义为目标公司; B 为外部行业公司,C 为内部行业公司。
所以我想做的是找到具有特定模式 A-B-A 或 A-C-A 的序列。
看了这个问题(Strange number of subsequences?)并阅读了用户指南,特别是以下段落:
4.3.3 子序列 如果 u 的所有连续元素 ui >in x 出现在同一 顺序,我们简单地用 u x 表示。根据这个定义,可以出现非共享>状态 在序列 u 和 x 共有的那些之间。例如,u = S; M 是一个 > 的子序列 x = S;你;米;主持人。
和
7.3.2 查找具有给定子序列的序列 seqpm() 函数计算包含给定子序列的序列数并收集 他们的行索引号。该函数返回一个包含两个元素的列表。第一个元素,MTab, 只是一个表格,其中包含数据中给定子序列的出现次数。注意 每个序列只计算一次出现,即使子序列出现不止一个 序列中的时间。列表的第二个元素 MIndex 给出了 包含子序列的序列。这些索引号可能有助于访问 相关序列(下面的示例)。由于在字符串中搜索模式更容易, 当使用 seqconc 函数时,函数 rst 以这种格式转换序列数据 TRUE 选项。
我得出结论,seqpm() 是我完成工作所需的函数。
所以我有这样的序列: A-A-A-A-A-B-B-B-B-B-A-A-A-A-A
根据我在提及的来源中找到的子序列的定义,我想我可以使用以下方法找到那种序列:
seqpm(sequence,"ABA")
但这不会发生。为了找到我需要输入的示例序列
seqpm(sequence,"ABBBBBA")
这对我需要的东西不是很有用。
- 那么你们知道我可能遗漏了什么吗?
- 如何检索从 A 到 B 再返回到 A 的所有序列?
- 有没有办法让我找到从 A 到其他任何地方然后返回 A 的方法?
非常感谢!
【问题讨论】: