に欠けて観測を削除私は(例では5つの観測)繰り返し観測とデータセットを持っていながら、トランスポーズ手順SAS
個々ごとに複数の行(皆のための同じではありません)
ID val1 val2 val3 val4 val5
1 0 0 1 1 1
1 . . 2 2 2
2 1 1 1 . .
2 2 2 2 . .
3 1 1 . . .
ステップ1もあります:欠損値のみ
で行を削除するnmiss():私は手順にproc transpose data=original out=tranposed;
by ID; var val1-val&_valcount; /* in this example &_valcount = 5 */
run;
ID val col1 col2
1 val1 0 .
1 val2 0 .
1 val3 1 2
1 val4 1 2
1 val5 1 2
2 val1 1 2
2 val2 1 2
2 val3 1 2
2 val4 . .
2 val5 . .
3 val1 1 .
3 val2 1 .
3 val3 . .
3 val4 . .
3 val5 . .
ステップ2をトランスポーズ適用します
data transposed; set transposed;
if nmiss(of _numeric_) EQ &_repeatcount then delete;
/* in this example &_repeatcount = 2 */
run;
ID val col1 col2
1 val1 0 .
1 val2 0 .
1 val3 1 2
1 val4 1 2
1 val5 1 2
2 val1 1 2
2 val2 1 2
2 val3 1 2
3 val1 1 .
3 val2 1 .
元のデータセットが大きいため、転置されたデータセットのサイズは非常に大きく、転置されたデータセットを取得するには長い計算時間がかかります。
ステップ1を組み合わせる方法はありますか?ステップ2を保存と時間を節約するためにデータセットを転置しながら観測を削除するような単一ステップにしますか?
"繰り返し回数"を事前に知っていますか?それはすべてのグループで同じですか? – Tom
はい私は "repeatcount"を事前に知っています。すべてのグループで同じではありません。私はちょうど '最大'リピート数を知っています – jaerung
データセットオプションを使用してこれを行う方法はありません - どこですか? – Reeza