SAS:循环使用列名

时间:2015-06-19 09:44:32

标签: sas

我有一个具有以下结构的数据集:

data account;
   input Index c1 c2 c3 c4 c5 c6 ;
   datalines;
4 30 20 10 30 40 20 
3 50 20 30 50 10 20
;
run;

在我的文件中,有超过150列的" c" -Type包含数字。在每一行中,我想总结c:列到Index变量并将总和放入一个新列。在第一行中,Index变量为4,因此结果应为sum = c1 + c2 + c3 + c4。在第二行,索引是3,所以它应该是sum = c1 + c2 + c3。

如何解决这样的列?我是否必须先将它们读入数组?

1 个答案:

答案 0 :(得分:3)

试试这个:

data want;
  set account;
  array vars c:;
  sum=0;
  do i=1 to index;
     sum+vars(i);
  end;
  drop i;
  run;