我想为数据集做一些总和计算。挑战是我需要通过ID执行行和和列Sum。以下是示例。
data have;
input ID var1 var2;
datalines;
1 1 1
1 3 2
1 2 3
2 0 5
2 1 3
3 0 1
;
run;
data want;
input ID var1 var2 sum;
datalines;
1 1 1 12
1 3 2 12
1 2 3 12
2 0 5 9
2 1 3 9
3 0 1 1
;
run;
答案 0 :(得分:1)
使用SQL很酷,但SAS有很好的数据步骤!
proc sort data=have; by id; run;
data result;
set have;
by id;
retain sum 0;
if first.id then sum=0;
sum=sum+sum(var1,var2);
if last.id then output;
run;
proc sort data=result; by id; run;
data want;
merge have result;
by id;
run;
您将决定使用什么......
答案 1 :(得分:0)
使用SQL一步完成所有操作。仅按link
分组,但在列选择中保留ID
和var1
。这将在var2
中创建相同的数据。
want