通过这两天学习sas,我发现如果SAS中做除法运算时,当被除数或者除数为缺失值时,计算结果也会返回缺失值,但当做平均运算时,即使有缺失值,也会将缺失值剔除掉依然做平均运算,只要有一个数值参与计算,就不会返回缺失值。
例如:
data test;
input stkcd$ year income profit;
cards;
000001 1998 66 44
000001 1999 77 55
000001 2000 88 49
000002 1998 . 55
000002 1999 88 .
000002 2000 99 90
;
run;
DATA TEST;
SET TEST;
RATE=PROFIT/INCOME;
RUN;
proc means data=test noprint;by stkcd;
output out=test(drop=_type_ _freq_) mean(RATE)=avg_income; run;
结果为:对于stkcd为000002时,依然计算了其rate的年度平均值,但由于只有一个数据,就使用了一个数据计算。
这样,我想请教,如何在计算好的表中返回实际参与平均值计算的个数。例如,对于000001来讲是3个,对于000002来讲,是1个,因为两个是缺失值。
谢谢了!