SAS 数组:高效数据处理的利器
1. 数组的作用
使用数组的一个重要原因是减少处理变量所需的语句数量。例如,在下面的 DATA 步骤中,将七个数据集变量的值从华氏温度转换为摄氏温度:
data work.report; set master.temps; mon=5*(mon-32)/9; tue=5*(tue-32)/9; wed=5*(wed-32)/9; thr=5*(thr-32)/9; fri=5*(fri-32)/9; sat=5*(sat-32)/9; sun=5*(sun-32)/9; run;在这个系列的赋值语句中,对每个变量执行相同的计算,只是每个语句中的变量名不同。通过将这些变量分组到一维数组中,可以在 DO 循环中处理这些变量,这样使用的语句更少,并且 DATA 步骤程序更易于修改或纠正:
data work.report(drop=day); set master.temps; array wkday{7} mon tue wed thr fri sat sun; do day=1 to 7; wkday{day}=5*(wkday{day}-32)/9; end; run;2. 创建一维数组
2.1 ARRAY 语句语法
ARRAY 语句用于将数据集变量分组到数组中,其语法如下: