Como podemos fazer condicional iteração em um dataset sas
-
05-09-2019 - |
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
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
*/