楼主: lizhewenbei
2202 7

请教大家,如何用上一年的数值填补到其后若干年的空缺中? [推广有奖]

  • 15关注
  • 5粉丝

副教授

36%

还不是VIP/贵宾

-

威望
0
论坛币
309 个
通用积分
11.4770
学术水平
4 点
热心指数
13 点
信用等级
5 点
经验
9699 点
帖子
609
精华
0
在线时间
496 小时
注册时间
2008-2-6
最后登录
2024-1-9

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
请教大家,如何用上一年的数值填补到其后若干年的空缺中?比如樊纲指数只到2009年,我希望将2010年-2014年的空白都用2009年的旧数据来代替,不知道可以用什么命令?感谢大家

二维码

扫码加我 拉你入群

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

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

关键词:如何用 樊纲指数 不知道 如何

沙发
teqel 发表于 2015-8-21 06:21:24 来自手机 |只看作者 |坛友微信交流群
先sort再 retain

使用道具

藤椅
yangdelong1988 发表于 2015-8-21 13:08:32 |只看作者 |坛友微信交流群
  1. data test;
  2. input number $2. year value;
  3. cards;
  4. A 2008 12
  5. A 2009 .
  6. A 2010 .
  7. B 2008 32
  8. B 2009 .
  9. B 2010 .
  10. ;
  11. run;

  12. data test;
  13. set test;
  14. by number;
  15. retain n;
  16. if first.number then n=value;
  17. run;
复制代码
已有 2 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
李会超 + 40 正解
lizhewenbei + 1 + 1 + 1 + 1 精彩帖子

总评分: 经验 + 40  论坛币 + 1  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

板凳
lizhewenbei 学生认证  发表于 2015-9-3 19:10:16 |只看作者 |坛友微信交流群
yangdelong1988 发表于 2015-8-21 13:08
感谢您的帮助,但是稍微一改动就不行了。您比如:
data test;
input number $2. year value;
cards;
A 2006 8
A 2007 10
A 2008 12
A 2009 .
A 2010 .
B 2006 12
B 2007 13
B 2008 32
B 2009 .
B 2010 .
;
run;

data test;
set test;
by number;
retain n;
if first.number then n=value;
run;

会把最旧值,而非最新值往下填充。

使用道具

报纸
teqel 发表于 2015-9-4 21:47:34 |只看作者 |坛友微信交流群
lizhewenbei 发表于 2015-9-3 19:10
感谢您的帮助,但是稍微一改动就不行了。您比如:
data test;
input number $2. year value;
  1. data test;
  2. input number $2. year value;
  3. cards;
  4. A 2006 8
  5. A 2007 10
  6. A 2008 12
  7. A 2009 .
  8. A 2010 .
  9. B 2005 .
  10. B 2006 12
  11. B 2007 13
  12. B 2008 32
  13. B 2009 .
  14. B 2010 .
  15. ;
  16. run;

  17. proc sort data=test;
  18. by number year;
  19. run;

  20. data test1;
  21. set test;
  22. by number;
  23. retain n;
  24. if not (first.number) then value=coalesce(value, n);
  25. n=value;
  26. drop n;
  27. run;
复制代码
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
lizhewenbei + 5 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 5  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

地板
lizhewenbei 学生认证  发表于 2015-9-5 15:03:18 |只看作者 |坛友微信交流群
teqel 发表于 2015-9-4 21:47
非常感谢!其中B的2005年还是空缺值,能否请你教一下,如何用B的2006年数值填入2005年呢?这样就不会留空缺值了。

使用道具

7
mehrwoods 发表于 2015-9-10 14:47:49 |只看作者 |坛友微信交流群
上面的结果,sort by descending number year, 然后在用同样原理填一次缺失值就OK了。
已有 1 人评分论坛币 学术水平 热心指数 信用等级 收起 理由
lizhewenbei + 1 + 1 + 1 + 1 精彩帖子

总评分: 论坛币 + 1  学术水平 + 1  热心指数 + 1  信用等级 + 1   查看全部评分

使用道具

8
lizhewenbei 学生认证  发表于 2015-9-12 15:56:41 |只看作者 |坛友微信交流群
mehrwoods 发表于 2015-9-10 14:47
上面的结果,sort by descending number year, 然后在用同样原理填一次缺失值就OK了。
感谢你!

使用道具

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

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

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

GMT+8, 2024-4-28 05:24