全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
9808 15
2013-06-14
我有好些变量,缺失值都不超过5%,想把缺失值都替换成相对应的这个变量的平均值,怎么操作呀?
例如我的有5000个样本,100人缺失了年龄值,剩下4900人平均是30岁,怎样用30放进去缺失的那些人的年龄变量里面呢?
sas太难搞了。。。谢谢指教!!

二维码

扫码加我 拉你入群

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

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

全部回复
2013-6-14 08:39:11
看下面这个链接

http://hi.baidu.com/crack_man/item/0e057bfd0d73bc26743c4c4a

另外缺失值填补还有另外的方法,可以查看proc mi
只不过也可以留着不填,这样含有缺失值的数据对均值之类的统计量没有影响,比如proc means
二维码

扫码加我 拉你入群

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

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

2013-6-14 08:49:03
你的数据形式是这样的吗?
people1  age name ...
people2  age name ...

还是其它形式的?
二维码

扫码加我 拉你入群

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

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

2013-6-14 11:38:11
qiangyoung 发表于 2013-6-14 08:49
你的数据形式是这样的吗?
people1  age name ...
people2  age name ...
是的
一个观察值对应一个人,有年龄 体重等等变量
现在就想把年龄缺失的用这一群人的平均年龄去填补
谢谢呵呵
二维码

扫码加我 拉你入群

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

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

2013-6-14 11:38:58
playmore 发表于 2013-6-14 08:39
看下面这个链接

http://hi.baidu.com/crack_man/item/0e057bfd0d73bc26743c4c4a
谢谢谢谢解答!!
我再好好琢磨下哈 宏变量对我这个菜鸟有点困难。。
二维码

扫码加我 拉你入群

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

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

2013-6-14 13:03:48
*思路就是先把数据读取到people,求得年龄总和
*然后再对people进行筛选,把后缺失值改成平均值
*age 是你要读的年龄,avg是平均年龄*count为观测总条数
data people;
INFILE ’文件路径’;
input age ;
if age ^ =. Then sumAge+age;
count+1;
run;

data people2;
set people;
if age=. then age=sumAge/count;
run;

仅供参考,在公司没有环境,不知道有没有错
二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

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