楼主: wanzionline
2201 3

[问答] (求助)不同观测同一变量之间的比较 [推广有奖]

  • 0关注
  • 2粉丝

本科生

39%

还不是VIP/贵宾

-

威望
0
论坛币
6888 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1015 点
帖子
86
精华
0
在线时间
71 小时
注册时间
2011-10-26
最后登录
2021-1-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
问题:
data a;
input name $ code expire_date;
cards;
A 001 20011231
A 001 20120131
B 002 20020303
B 002 20120223
;
run;
想实现目的:
对name相同,且code相同的两条记录,比较expire_date是否相同,不同的话进行标记,如何做到?
关于不同观测间同一变量变化的比较和跟踪已经困扰我好久了,请高手指教?
二维码

扫码加我 拉你入群

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

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

关键词:expire Input cards date code 记录 如何

沙发
Imasasor 发表于 2012-11-7 12:26:45 |只看作者 |坛友微信交流群
  1. data a;
  2. input name $ code $ expire_date;
  3. cards;
  4. A 001 20011231
  5. A 001 20120131
  6. B 002 20020303
  7. B 002 20120223
  8. c 003 20121221
  9. c 003 20121221
  10. ;
  11. run;

  12. data b;
  13. set a;
  14. namecode=compress(catx("",name,code));
  15. run;

  16. data c;
  17. set b;
  18. x=lag(expire_date);
  19. if first.namecode then y=.;
  20. else y=x;
  21. by namecode notsorted;
  22. if y^=. and y^=expire_date then dif="不同";
  23. else if y^=. then  dif="相同";
  24. drop namecode x y;
  25. run;
复制代码
欢迎加入亚太地区第一R&Python数据挖掘群: 251548215;

使用道具

藤椅
pobel 在职认证  发表于 2012-11-7 12:54:01 |只看作者 |坛友微信交流群
data a;
input name $ code $ expire_date;
cards;
A 001 20011231
A 001 20120131
B 002 20020303
B 002 20120223
c 003 20121221
c 003 20121221
;
run;

proc sql;
  create table b as
   select *,case count(distinct expire_date)
              when 2 then "different"
                          when 1 then "same"
                          else " "
                          end as Flag
        from a
        group by name,code;
quit;
和谐拯救危机

使用道具

板凳
wanzionline 发表于 2012-11-7 13:51:43 |只看作者 |坛友微信交流群
谢谢,试过了,可行

使用道具

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

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

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

GMT+8, 2024-10-6 19:30