どのように我々は、SASデータセットに条件付きの繰り返しを行うことができます

StackOverflow https://stackoverflow.com/questions/560132

  •  05-09-2019
  •  | 
  •  

質問

どのように我々は、SASデータセットの繰り返しを行うことができます。 例えば、私が最初に選びました。変数の。 そして、特定の条件の発生を見つけ、それが満たすときの値を設定したい。

役に立ちましたか?

解決

SASデータステップが観測オーバー内蔵ループを有しています。あなたには、いくつかの理由で、する場合を除き、あなたは、どんなことを行う必要はありません。例えば、次の各観察のための乱数を生成します。

data one;
  set sashelp.class;
  rannum = ranuni(0);
run;
あなたは、変数をループにしたい場合は、

、そして配列があります。たとえば、次の乱数を持つ変数、var10にVAR1を、初期化します:

data one;
  array vars[1:10] var1-var10;
  do i = 1 to 10;
    vars[i] = ranuni(0);
  end;
run;

最初。そして最後。あなたは文によってで(ソート)のデータを設定するとフラグが自動的に生成されます。例:

proc sort data=sashelp.class out=class;
  by age;
run;
data one;
  set class;
  by age;
  first = first.age;
  last = last.age;
run;
/* check */
proc print data=one;
run;
/* on lst
  Obs    Name       Age    first    last

  1    Joyce       11      1        0
  2    Thomas      11      0        1
  3    James       12      1        0
  4    Jane        12      0        0
  5    John        12      0        0
  6    Louise      12      0        0
  7    Robert      12      0        1
  8    Alice       13      1        0
  ...
 18    William     15      0        1
 19    Philip      16      1        1
*/
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top