SAS Loop через столбцы - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь написать код в SAS, который проходит по столбцам.

DesiredVariable - это то, что я пытаюсь вычислить, используя цикл

где, если LengthValue для строки равен 5, тогда значение DesiredVariable = Length5 и если LengthValue для строки равно 3, то значение DesiredVariable = Length3

(Изображение прилагается)

Я был бы очень признателен за помощь в написании этого цикла, потому что я относительно новичок в SAS.

Заранее спасибо.

enter image description here

1 Ответ

0 голосов
/ 09 мая 2018

Вам не нужно зацикливать строки, вам нужно только создать Array для столбцов length1-length5 и использовать LengthValue в качестве указателя.

data have;
input Name $ LengthValue Length1 Length2 Length3 Length4 Length5 DesiredVariable;
datalines;
Sally 5 0.29 0.21 0.73 0.46 0.43 .
Andrea 2 0.97 0.76 0.5 0.33 0.41 .
;
run;
data want;
set have;
Array length[*] Length1-Length5;
DesiredVariable=length[LengthValue];
run;

Выход:

Name=Sally LengthValue=5 Length1=0.29 Length2=0.21 Length3=0.73 Length4=0.46 Length5=0.43 DesiredVariable=0.43
Name=Andrea LengthValue=2 Length1=0.97 Length2=0.76 Length3=0.5 Length4=0.33 Length5=0.41 DesiredVariable=0.76
...