楼主: crazygoing
5648 2

sas缺失值填充代码 [推广有奖]

  • 0关注
  • 47粉丝

已卖:716份资源

教授

29%

还不是VIP/贵宾

-

威望
1
论坛币
4821 个
通用积分
21.8870
学术水平
165 点
热心指数
203 点
信用等级
146 点
经验
48691 点
帖子
441
精华
1
在线时间
1326 小时
注册时间
2007-11-9
最后登录
2024-7-27

楼主
crazygoing 发表于 2015-4-14 16:58:17 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有一数据集
data a;
input cc  @@;
cards;
1 1 1 1 1 . . . . .  2 2 4 2 2 2 3 3 2 2 2 2 2 2 2 4 4 4 2 2 . . . . . . . . . . . . . . . 1 1 1 1 4 1 1 1 2 3
;
run;
cc变量为名义变量,有4个水准,现在想对缺失值进行填补,规则是按照已有的数据的比例进行随机填补,不知如何写代码?请赐教。


以前我发过一个求教帖子https://bbs.pinggu.org/thread-799939-1-1.html 是问2分类的,现在是4分类,绞尽脑汁啊…………
二维码

扫码加我 拉你入群

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

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

关键词:缺失值 thread pinggu Input cards 如何

沙发
sushe1527 发表于 2015-4-14 17:49:13
貌似,5年前的那个帖子也是我回复的,猿粪
  1. data a;
  2. input cc  @@;
  3. cards;
  4. 1 1 1 1 1 . . . . .  2 2 4 2 2 2 3 3 2 2 2 2 2 2 2 4 4 4 2 2 . .
  5. . . . . . . . . . . . . . 1 1 1 1 4 1 1 1 2 3
  6. ;
  7. run;
  8. data b;
  9. set a;
  10. retain z1 0;
  11. retain z2 0;
  12. retain z3 0;
  13. retain z3 0;
  14. if cc=1 then z1+1;
  15. if cc=2 then z2+1;
  16. if cc=3 then z3+1;
  17. if cc=4 then z4+1;
  18. run;
  19. proc sql;
  20. select max(z1)/(max(z1)+max(z2)+max(z3)+max(z4)) into : t1 from b;
  21. select max(z2)/(max(z1)+max(z2)+max(z3)+max(z4)) into : t2 from b;
  22. select max(z3)/(max(z1)+max(z2)+max(z3)+max(z4)) into : t3 from b;
  23. select max(z4)/(max(z1)+max(z2)+max(z3)+max(z4)) into : t4 from b;
  24. quit;
  25. %put &t1 &t2 &t3 &t4;
  26. data  b;
  27. set   b;
  28. if cc=' ' then cc=rantbl(1234,&t1,&t2,&t3,&t4);
  29. run;
复制代码

藤椅
crazygoing 发表于 2015-4-15 10:26:21
sushe1527 发表于 2015-4-14 17:49
貌似,5年前的那个帖子也是我回复的,猿粪
哈哈,感谢。 搞清楚rantbl 函数用法了。猿粪啊!

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-13 09:39