0

week0-week187 の変数を作成する必要があり、その RBAR を実行するだけです。データは次のようになります。

IDウィーク

1 0

1 28

1 186

2 187

2 30

観測が特定の週にある場合、1または0になるweek0-week187変数を作成しようとしています。次のようになります

ID 週 WEEK0 WEEK1 ...WEEK28 ...WEEK30...WEEK186 WEEK187

1 0 1 0 ...0...0...0 0

1 28 0 0 ... 1 ... 0 ... 0 0

1 186 0 0 ... 0 ... 0 ... 1 0

2 187 0 0 ... 0 ... 0 ... 0 1

2 30 0 0 ... 0 ... 1 ... 0 0

おそらくDOステートメントが必要ですか?ほとんどの場合、proc sql が原因で SAS がクラッシュします。これは、コンピューターがジャンクピースであるためです。SAS コードを推奨

4

1 に答える 1

1

「これをしないでください」という注記の後に、次の方法があります。

data have;
week=5;
run;

data want;
set have;
array weeks week0-week187;
do _t = 1 to dim(weeks);
 weeks[_t]=0;
end;
weeks[week+1]=1;
run;

この「ワイド」が必要な場合は、物事を転置して、ID 変数ごとに 1 行にすることがはるかに望ましいと思いますが、これも非常に簡単です。しかし、オッズは、このワイドフォーマットが必要なものは何でも、拡大せずに簡単に/より簡単に実行できることです。

于 2013-08-05T15:51:25.330 に答える