Arrays SAS循环通过列
我正在尝试用SAS编写代码,在列中循环 DesiredVariable是我试图使用循环计算的变量 其中,如果行的长度值为5,则所需变量值=长度5 如果一行的LengthValue为3,则所需的变量值=Length3 (附图) 我非常感谢您对我编写这个循环的帮助,因为我对SAS还比较陌生 提前谢谢Arrays SAS循环通过列,arrays,loops,sas,Arrays,Loops,Sas,我正在尝试用SAS编写代码,在列中循环 DesiredVariable是我试图使用循环计算的变量 其中,如果行的长度值为5,则所需变量值=长度5 如果一行的LengthValue为3,则所需的变量值=Length3 (附图) 我非常感谢您对我编写这个循环的帮助,因为我对SAS还比较陌生 提前谢谢 您不需要循环行,只需要为列length1-length5创建一个数组,并使用LengthValue作为指针 data have; input Name $ LengthValue Length1 Len
您不需要循环行,只需要为列
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
非常感谢@momo1644