SAS中条件均值的函数

时间:2016-07-19 08:24:31

标签: sas dataset mean

我有一个dataset,其中一些单元格被888888888999999999定价。我会这样做而不是考虑这些价值观。那就是:

x=5, y=10, z=888888888

平均值为5。

我该如何解决?

1 个答案:

答案 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;