全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
1377 2
2013-01-17
通过这两天学习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个,因为两个是缺失值。
谢谢了!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2013-1-17 15:26:35
proc means data=test noprint;by stkcd;
output out=test(drop=_type_ _freq_) mean(RATE)=avg_income  n(RATE)=num;
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2013-1-17 16:09:41
pobel 发表于 2013-1-17 15:26
proc means data=test noprint;by stkcd;
output out=test(drop=_type_ _freq_) mean(RATE)=avg_income  n ...
谢谢哦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群