次のように、個人指向の形式の縦断データを含むデータセットがあります。
pid varA_1 varB_1 varA_2 varB_2 varA_3 varB_3 ...
1 1 1 0 3 2 1
2 0 1 0 2 2 1
...
50k 1 0 1 3 1 0
これにより、最小 50k の観測値と最大 29 期間にわたって測定された 90 の変数を含む大きなデータフレームが生成されます。
次のように、より期間指向の形式を取得したいと思います。
pid index start stop varA varB varC ...
1 1 ...
1 2
...
1 29
2 1
データフレームを再形成するためのさまざまなアプローチを試しました ( *apply
、plyr
、reshape2
、ループ、すべての数値行列の追加と事前入力など) が、まともな処理時間 (サブセットの場合は +40 分) が得られないようです。何を避けるべきかについて途中でさまざまなヒントを拾いましたが、ボトルネックやスピードアップの可能性を見落としているかどうかはまだわかりません.
純粋な R コードで達成できる最良の処理時間を評価できるように、この種のデータ処理にアプローチする最適な方法はありますか? Stackoverflow にも同様の質問がありましたが、納得のいく回答にはなりませんでした...