現在、「長い」形式の Multistate Analysis データセットに取り組んでいます (各個人の観測に対して 1 行。各個人は最大 5 回まで繰り返し測定されます)。
アイデアは、各個人が時変状態変数 s = 1, 2, 3, 4
のレベル間で繰り返し移行できるということです。私が持っている他のすべての変数 (here cohort
) は、任意の 内で固定されていますid
。
いくつかの分析の後、訪問した状態の特定の順序に従って、データセットを「広い」形式で再形成する必要があります。最初の長いデータの例を次に示します。
dat <- read.table(text = "
id cohort s
1 1 2
1 1 2
1 1 1
1 1 4
2 3 1
2 3 1
2 3 3
3 2 1
3 2 2
3 2 3
3 2 3
3 2 4",
header=TRUE)
s1
最終的な「ワイド」データセットは、新しく作成された変数、s2
、s3
、s4
に記録された訪問されたs5
状態の特定の個々のシーケンスを考慮に入れる必要がありますs1
。
上記の例によると、ワイド データセットは次のようになります。
id cohort s1 s2 s3 s4 s5
1 1 2 2 1 4 0
2 3 1 1 3 0 0
3 2 1 2 3 3 4
を使用しようとしましたがreshape()
、転置にも集中しましs
たが、意図した結果は得られませんでした。実際、R 関数に関する私の知識はかなり限られています。ありがとう。
編集: 異なる種類のワイド データセットの取得
ご協力ありがとうございます。できれば関連する質問があります。特に、各個体が長時間観察され、状態間の遷移がほとんどない場合はdat
、次の代替方法で初期サンプルを再形成すると非常に便利です。
id cohort s1 s2 s3 s4 s5 dur1 dur2 dur3 dur4 dur5
1 1 2 1 4 0 0 2 1 1 0 0
2 3 1 3 0 0 0 2 1 0 0 0
3 2 1 2 3 4 0 1 1 2 1 0
実際には、 s1
-s5
は個別の訪問済み状態であり、dur1
-dur5
それぞれの個別の訪問済み状態で費やされた時間です。
このデータ構造に到達するための手を貸していただけますか? dur
を使用する前に、すべての - 変数とs
- 変数を中間サンプルで作成する必要があると思いますreshape()
。そうでなければ、直接採用することは可能でしょ-reshape2-
うか?