data test;
input A B C D$ E;
datalines;
. 70 . Mike 2
1 80 21 Tony 3
2 10 0 . 4
3 . 0 Lew .
3 9 4 . .
;
run;
data test2;
set test;
Total=A+B+C;
run;
data test3;
set test;
if A=. then A=0;
if B=. then B=0;
if C=. then C=0;
Total=A+B+C;
run;
我想对 A B C 列求和,但它们有缺失值,所以我必须先用 0 替换所有缺失值(在 test3 中),这样我才能得到一个数字。有什么优雅的方法可以做到吗?我的方法看上去很别扭。感谢帮助。
最佳答案
使用您的函数,这样您就不必替换缺失的值。
SUM
函数应该可以做到这一点 - 请注意通过下面显示的两种方法输出的差异。
data out;
set test;
sum_func = sum(A,B,C);
sum = A+B+C;
keep sum: A B C;
run;
关于SAS,缺失值的总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49283655/