Pergunta

Como podemos fazer iteração em um dataset sas. Por exemplo, eu ter escolhido o primeiro. de uma variável. E quer encontrar a ocorrência de uma condição particular e definir um valor quando se satisfazer

Foi útil?

Solução

passo dados SAS tem um circuito integrado em mais de observações. Você não tem que fazer qualquer coisa, a menos que queira, por algum motivo. Por exemplo, o seguinte gera um número aleatório para cada observação:

data one;
  set sashelp.class;
  rannum = ranuni(0);
run;

Se você quiser varrer variáveis, então existem matrizes. Por exemplo, o seguinte inicializa variáveis, var1 para var10, com números aleatórios:

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

O primeiro. e por ultimo. bandeiras são gerados automaticamente quando você definir um conjunto de dados (ordenadas) com um por declaração. Um exemplo:

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
*/
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top