如何在sas数据集中进行条件迭代

如何在sas数据集中进行条件迭代,sas,Sas,我们如何在sas数据集中进行迭代。 例如,我选择了第一个。关于一个变量。 并希望找到特定条件的发生情况,并在其满足时设置一个值。SAS数据步骤具有内置的循环覆盖观测值。你不必做任何事情,除非你出于某种原因想做。例如,以下内容为每次观察生成一个随机数: data one; set sashelp.class; rannum = ranuni(0); run; 如果您想在变量上循环,那么就有数组。例如,以下使用随机数初始化变量var1到var10: data one; array va

我们如何在sas数据集中进行迭代。 例如,我选择了第一个。关于一个变量。
并希望找到特定条件的发生情况,并在其满足时设置一个值。SAS数据步骤具有内置的循环覆盖观测值。你不必做任何事情,除非你出于某种原因想做。例如,以下内容为每次观察生成一个随机数:

data one;
  set sashelp.class;
  rannum = ranuni(0);
run;
如果您想在变量上循环,那么就有数组。例如,以下使用随机数初始化变量var1到var10:

data one;
  array vars[1:10] var1-var10;
  do i = 1 to 10;
    vars[i] = ranuni(0);
  end;
run;
第一个。最后。使用by语句设置(排序)数据时,会自动生成标志。例如:

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
*/

SAS数据步骤在观测上有一个内置的循环。你不必做任何事情,除非你出于某种原因想做。例如,以下内容为每次观察生成一个随机数:

data one;
  set sashelp.class;
  rannum = ranuni(0);
run;
如果您想在变量上循环,那么就有数组。例如,以下使用随机数初始化变量var1到var10:

data one;
  array vars[1:10] var1-var10;
  do i = 1 to 10;
    vars[i] = ranuni(0);
  end;
run;
第一个。最后。使用by语句设置(排序)数据时,会自动生成标志。例如:

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
*/

更多信息请。。。可能是一个具体的例子请提供更多信息。。。可能是一个具体的例子