SAS,缺失值的总和

标签 sas sum

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/

相关文章:

sas - 如何在SAS中查找变量的前一个值

php - 计算并存储另一个表中列的 SUM

AngularJS ng Bind 与乘法和求和

MySQL SUM IF 列具有特定值

r - SAS 和 R 中的二项式检验 - 不同的结果

encoding - 如何在 WLATIN1 编码的 SAS session 中使用 UTF-8 编码的文件?

相当于 rleid 函数的 SAS

debugging - SAS 日志输出到日志窗口和文本文件

mysql - 减去两列并在运行时对结果求和

php - MySQL:计算具有特定日期的列中所有数字的总和