SAS:遍历列名
SAS: Looping over column names
我有一个具有以下结构的数据集:
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 变量为 4,因此结果应为 sum = c1 + c2 + c3 + c4。第二行,Index为3,所以应该是sum = c1 + c2 + c3.
如何处理这样的列?我必须先将它们读入数组吗?
试试这个:
data want;
set account;
array vars c:;
sum=0;
do i=1 to index;
sum+vars(i);
end;
drop i;
run;
我有一个具有以下结构的数据集:
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 变量为 4,因此结果应为 sum = c1 + c2 + c3 + c4。第二行,Index为3,所以应该是sum = c1 + c2 + c3.
如何处理这样的列?我必须先将它们读入数组吗?
试试这个:
data want;
set account;
array vars c:;
sum=0;
do i=1 to index;
sum+vars(i);
end;
drop i;
run;