楼主: fbwg
1445 3

程序咨询 [推广有奖]

  • 0关注
  • 0粉丝

大专生

78%

还不是VIP/贵宾

-

威望
0
论坛币
10 个
通用积分
0.9000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
529 点
帖子
16
精华
0
在线时间
97 小时
注册时间
2007-4-6
最后登录
2024-4-22

楼主
fbwg 发表于 2015-8-7 16:42:09 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
我有下面的一组数据,请问如何在相同的setnr, 把case=0的age1代替为case=1的age1?

setnrcaseage1

216

1

56.43288

216

0

57.67397

216

0

59.60548

216

0

60.2137

216

0

57.55342

217

1

57.36986

217

0

59.3589

217

0

60.67123

217

0

60.27123


二维码

扫码加我 拉你入群

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

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

关键词:Case CAS Age Set Sea 程序

沙发
大一仔 发表于 2015-8-7 17:38:04
data data2;
set data(rename=(age1=age2));
where case=1;
data data3;
merge data data2;
by setnr;
drop age1;
rename age2=age1;
run;
同样是新手,虽然代码比较长但是这个逻辑比较简单。

藤椅
苹果叶 在职认证  发表于 2015-8-7 21:16:00
  1. data raw;
  2.   input setnr ;
  3.   input case ;
  4.   input        age1;
  5.   cards;
  6. 216
  7. 1
  8. 56.43288
  9. 216
  10. 0
  11. 57.67397
  12. 216
  13. 0
  14. 59.60548
  15. 216
  16. 0
  17. 60.2137
  18. 216
  19. 0
  20. 57.55342
  21. 217
  22. 1
  23. 57.36986
  24. 217
  25. 0
  26. 59.3589
  27. 217
  28. 0
  29. 60.67123
  30. 217
  31. 0
  32. 60.27123
  33. ;
  34. run;

  35. proc sort data=raw;
  36.   by setnr descending case age1;
  37. run;

  38. data final(drop=age1 rename=age2=age1);
  39.   set raw;
  40.     by setnr descending case age1;
  41.   retain age2;
  42.   if first.setnr then age2=age1;
  43. run;
复制代码

板凳
fbwg 发表于 2015-8-13 15:48:13
多谢!

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

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