SAS循环列

时间:2018-05-09 07:49:17

标签: arrays loops sas

我正在尝试在SAS中编写循环遍历列的代码。

DesiredVariable是我尝试使用Loop

计算的

其中如果一行的LengthValue为5那么DesiredVariable值= Length5 如果一行的LengthValue为3则DesiredVariable值= Length3

(附图)

我真的很感激编写这个循环的任何帮助,因为我对SAS比较新。

提前致谢。

enter image description here

1 个答案:

答案 0 :(得分:0)

您不需要循环行,只需为列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