尝试使用以下代码水平求和并创建一个虚拟总计。因此,数组中的每个变量都是一个虚拟标志。我想计算每行虚拟标志的数量。
data rep;
set clean;
array missU (9) util_92013 util_32014 util_22014 util_72013 util_82013 util_12014 util_42014 util_122013 util_62014;
do i = 1 to 9;
totalU = sum(of missU(i));
end;
drop i;
run;
我继续获得NOTE: Missing values were generated as a result of performing an operation on missing values.
答案 0 :(得分:1)
你不需要循环。
data rep;
set clean;
array missU ... ;
totalU = sum(of missU[*],0);
run;
正如user667489在注释中指出的那样,在sum函数中添加零将避免在所有标志丢失时生成缺失值(如果需要的话)。