R パッケージ TraMineR を使用して、シーケンス解析に関する学術研究を行っています。
誰かがターゲット会社にいて、出かけて、ターゲット会社に戻ってくるというパターンを見つけたいです。
(簡略化) 州 A をターゲット企業として定義しました。B は業界外企業、C は業界内企業です。
そこで私がやりたいのは、特定のパターン ABA または ACA を持つシーケンスを見つけることです。
この質問 ( Strange number of subsequences? ) を見て、ユーザー ガイド、特に次の文章を読んだ後:
4.3.3 部分列 列 u は、u のすべての連続する要素 ui が同じ順序で >x に現れる場合、x の部分列であり、単に u x で表します。この定義によれば、共有されていない > 状態は、シーケンス u と x の両方に共通する状態の間に現れる可能性があります。たとえば、u = S; M は x = S の > サブシーケンスです。う; M; MC。
と
7.3.2 特定のサブシーケンスを持つシーケンスの検索 seqpm() 関数は、特定のサブシーケンスを含むシーケンスの数をカウントし、それらの行インデックス番号を収集します。この関数は、2 つの要素を持つリストを返します。最初の要素である MTab は、データ内の特定のサブシーケンスの出現回数を示すテーブルです。サブシーケンスがシーケンス内で複数回出現する場合でも、シーケンスごとに 1 回の出現のみがカウントされることに注意してください。リストの 2 番目の要素である MIndex は、サブシーケンスを含むシーケンスの行インデックス番号を示します。これらのインデックス番号は、関連するシーケンスにアクセスするのに役立ちます (以下の例)。文字列内のパターンを検索する方が簡単であるため、関数 rst は、TRUE オプションを指定して seqconc 関数を使用する場合、この形式のシーケンス データを変換します。
私は、seqpm() が仕事を成し遂げるために必要な関数であると結論付けました。
だから私は次のようなシーケンスを持っています: AAAAABBBBBAAAAA
そして、メンティオッドソースで見つけたサブシーケンスの定義から、次を使用してそのようなシーケンスを見つけることができると思います。
seqpm(sequence,"ABA")
しかし、そうはなりません。その例のシーケンスを見つけるために、入力する必要があります
seqpm(sequence,"ABBBBBA")
これは私が必要とするものにはあまり役に立ちません。
- それで、私が何かを見逃したかもしれない場所がわかりますか?
- A から B に移動し、A に戻るすべてのシーケンスを取得するにはどうすればよいですか?
- A から他の何かに移動してから A に戻る方法を見つける方法はありますか?
どうもありがとう !