我有一个dataset
,其中一些单元格被888888888
和999999999
定价。我会这样做而不是考虑这些价值观。那就是:
x=5, y=10, z=888888888
平均值为5。
我该如何解决?
答案 0 :(得分:0)
当您跨越变量进行计算时,只需将它们存储在一个数组中,循环遍历它们并将任何小于所需阈值的值(我使用100,000,000)加总,然后除以总数获得平均值的变量。
data have;
input x y z;
datalines;
5 10 888888888
4 20 999999999
;
run;
data want;
set have;
array vars{*} x y z;
_sum=0;
do _i = 1 to dim(vars);
if vars{_i}<1e8 then _sum+vars{_i};
end;
mean_vars = _sum/dim(vars);
drop _: ;
run;