SAS中的“Array”命令用于操作数据

时间:2012-09-26 17:58:25

标签: sas

我有以下数据结构

ID Y xx11 xx12 xx13 xx14 xx21 xx22 xx23 xx24 xx31 xx32 xx33 xx34 xx41 xx42 xx43 xx44;

其中Y是响应变量,x是协变量。

  • xx11 xx12 xx13 xx14是第1组的四个重复措施。
  • xx21 xx22 xx23 xx24是第2组的四个重复措施。
  • xx31 xx32 xx33 xx34是第3组的四个重复措施。
  • xx41 xx42 xx43 xx44是第4组的四个重复措施。

我需要使用SAS中的“Array”命令来操作数据,以生成以下数据集:

ID Y时间组

感谢。

1 个答案:

答案 0 :(得分:3)

data want;
set have;
array xx xx11--xx44;
do _t = 1 to dim(xx);
  x=xx[_t];
  group = substr(vname(xx[_t]),3,1);
  time = substr(vname(xx[_t]),4,1);
  output;
end;
run;

这取决于xx11到xx44是连续变量(不是以任何特定顺序)。