-msSurv-
「ワイド」データセットに取り組んでいますが、間隔形式のデータを必要とする特定のパッケージ(ノンパラメトリック多状態モデルの場合)を使用したいと思います。
私の現在のデータセットは、個人ごとに1つの行で特徴付けられます。
dat <- read.table(text = "
id cohort t0 s1 t1 s2 t2 s3 t3
1 2 0 1 50 2 70 4 100
2 1 0 2 15 3 100 0 0
", header=TRUE)
ここcohort
で、は時変共変量であり、s1
-s3
は時変共変量が時間の経過とともに取る値に対応しますs = 1,2,3,4
(これらは、時間の経過とともに個人が訪れる別個の状態です)。カレンダーの時間はt1
-で定義され、各個人のt3
範囲はから0
です。100
したがって、たとえば、個人1はカレンダー時間=50まで状態=1にとどまり、次に時間=70まで状態=2にとどまり、最後に時間100まで状態=4にとどまります。
取得したいのは、「間隔」形式のデータセットです。つまり、次のようになります。
id cohort t.start t.stop start.s end.s
1 2 0 50 1 2
1 2 50 70 2 4
1 2 70 100 4 4
2 1 0 15 2 3
2 1 15 100 3 3
例が十分に明確であることを願っています。そうでない場合は、お知らせください。さらに明確にするよう努めます。
この再形成をどのように自動化しますか?私には比較的多数の(シミュレートされた)個人がいて、約100万人いると考えてください。
助けてくれてありがとう。