如何创建使用SAS阵列的编号变量
我有一个很大的数据集,需要动态创建超过10列,但是数据量会导致不必要的长代码块。是否可以简化下面的代码,或者使用数组如何创建使用SAS阵列的编号变量,sas,Sas,我有一个很大的数据集,需要动态创建超过10列,但是数据量会导致不必要的长代码块。是否可以简化下面的代码,或者使用数组 Data have; x1 = 1; x2 = 2; x3 = 3; x4 = 4; Run; Data want; Set have; y1 = x1*2; y2 = x2*2; y3 = x3*2; y4 = x4*2; Run; 像这样定义两个数组: data want; set have; array varx x:; array vary y1
Data have;
x1 = 1;
x2 = 2;
x3 = 3;
x4 = 4;
Run;
Data want;
Set have;
y1 = x1*2;
y2 = x2*2;
y3 = x3*2;
y4 = x4*2;
Run;
像这样定义两个数组:
data want;
set have;
array varx x:;
array vary y1-y4;
do over varx;
vary=varx*2;
end;
run;
最好以与VARY相同的方式创建VARX数组。这样,如果HAVE的变量少于4个,则数据步骤不会因索引超出数组而崩溃。