楼主: lemonxinran
1149 2

[问答] 缺失值问题请教 [推广有奖]

  • 0关注
  • 1粉丝

讲师

28%

还不是VIP/贵宾

-

威望
0
论坛币
1159 个
通用积分
6.3000
学术水平
1 点
热心指数
1 点
信用等级
1 点
经验
10334 点
帖子
188
精华
0
在线时间
599 小时
注册时间
2010-10-25
最后登录
2024-3-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
通过这两天学习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个,因为两个是缺失值。
谢谢了!

二维码

扫码加我 拉你入群

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

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

关键词:缺失值 Income Profit output stkcd income profit

沙发
pobel 在职认证  发表于 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;
和谐拯救危机

使用道具

藤椅
lemonxinran 发表于 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 ...
谢谢哦!

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-28 13:21