次のデータセットを で再形成しようとしていますがreshape()
、あまり結果が得られません。
開始データセットは「ワイド」形式で、各 ID が 1 行で記述されます。データセットは、マルチステート分析 (生存分析の一般化) を実行するために採用されることを意図しています。
各人物は、指定された全体の期間にわたって記録されます。この期間中、被験者は複数の状態間の遷移を経験することができます (簡単にするために、訪問できる個別の状態の最大数を 2 に固定します)。最初に訪れた州はs1 = 1, 2, 3, 4
です。dur1
人は一定期間その州内に滞在し、同じことが 2 番目に訪れた州にも適用されs2
ます。
id cohort s1 dur1 s2 dur2
1 1 3 4 2 5
2 0 1 4 4 3
私が取得したい長い形式のデータセットは次のとおりです。
id cohort s
1 1 3
1 1 3
1 1 3
1 1 3
1 1 2
1 1 2
1 1 2
1 1 2
1 1 2
2 0 1
2 0 1
2 0 1
2 0 1
2 0 4
2 0 4
2 0 4
実際には、各 ID にはdur1 + dur2
行があり、s1
とs2
が 1 つの変数に溶け込んでいますs
。
この変換をどのように行いますか?また、元のデータセットの「ワイド」フォームにどのように戻りますか?
どうもありがとう!
dat <- cbind(id=c(1,2), cohort=c(1, 0), s1=c(3, 1), dur1=c(4, 4), s2=c(2, 4), dur2=c(5, 3))