我有一个数据集如下所示:
Name Number
a 1
b 2
c 9
d 6
e 5.5
Total ???
Run Code Online (Sandbox Code Playgroud)
我想计算变量的总和Number并将总和记录在最后一行(对应于 Name = 'total')。我知道我可以使用 proc 方法执行此操作,然后将输出合并回该文件。但这似乎效率不高。请问谁能告诉我是否有更好的方法。
您可以在数据集中执行以下操作:
data test2;
drop sum;
set test end = last;
retain sum;
if _n_ = 1 then sum = 0;
sum = sum + number;
output;
if last then do;
NAME = 'TOTAL';
number = sum;
output;
end;
run;
Run Code Online (Sandbox Code Playgroud)
只需要遍历一次数据集