この質問は、実際には、私が自問したこの質問 (シーケンス内の特定のパターンを見つける)から生じましたが、それは別の問題だと思います。
Gilbert の回答に従って、状態シーケンスからイベント シーケンスを作成しようとしましたが、問題が発生しました。
提案は使用することでした
seqe=seqecreate(comp.seq,tevent="state")
次に使用する
seqefsub(seqe,strsubseq="(a)-(d)")
しかし、seqecreate() を使用しようとすると、次のエラーが発生します。
Error in `seqelength<-`(`*tmp*`, value = c(64, 64, 64, 64, 61, 62, 61, : (...)
s and len should be of the same size.
次を使用してイベントシーケンスに変換しようとすると、同じことが起こります。
seqe=seqecreate(comp.seq,tevent="transition")
行のサブセットを試してみて、どの行が問題を引き起こしているかを特定したところ、問題のある行はすべて一定の状態にあることがわかりました。つまり、実際には遷移がなく、永続的に同じ状態のままです (AAAAAA など)。
だから私の質問は:
- 変換を行うために設定できるフラグなどはありますか?
そうでない場合、長さが異なり、値が欠落している場合、これらの行を削除するにはどうすればよいですか。たとえば、次のようなシーケンスがある場合があります。
行方不明-行方不明-AAAA AA-行方不明-行方不明-行方不明
よろしくお願いします!
私のデータのサンプルを提供する:
comp.seq <- seqdef(comp,NULL,states=comp.scodes,labels=comp.labels, alphabet=comp.alphabet,missing="Z")
comp.seq[1:7,]
1 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-B-B-B-B-B-B-B-B-D-D-D-D-D-A-A-A-A-A-A-A-A-A
2 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-C-C-C-C-C-C-C-C-C-C-C-C-C-C-*-B-B-B-B-B-B-B-B-B-B-B-B-B-A-A-A-A-A-A
3 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-A-A-A-C-C-A-A-A-A-A-A-A-D-D-A-A-A-A-A-A-A-A
4 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-B-B-B-B-B-B-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A-A
5 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-C-C-D-D-D-D-D-D-D-D-D-D-A-A-A-A-A
6 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-B-B-B-B-B-B-B-B-B-B-B-B-B-D-D-D-D-D-D-D-D-A-A-A-A
7 *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-A-A-A-A-A-A-A-A-A-A-A-A
行番号 7 は問題のある行です。私が使用しようとすると、seqecreate(comp.seq[1:6,])
それは動作します