楼主: 小鳄鱼a
1091 7

一个问题 [推广有奖]

  • 6关注
  • 10粉丝

学科带头人

3%

还不是VIP/贵宾

-

威望
0
论坛币
125 个
通用积分
0.0040
学术水平
40 点
热心指数
45 点
信用等级
43 点
经验
32801 点
帖子
1185
精华
0
在线时间
1539 小时
注册时间
2009-7-16
最后登录
2018-10-5

100论坛币
codetnameifis

1

1998

李四

0

0

1

1999

李四

1

0

1

2000

李四

0

1

1

2001

张三

0

0

1

2002

张三

1

0

1

2003

李四

0

0

1

2004

李四

0

0

2

1999

王五

0

0

2

2000

王五

0

0

2

2001

王五

0

0

2

2002

王五

0

0

2

2003

张三

0

1

2

2004

张三

0

1

2

2005

张三

0

0

2

2006

刘六

0

0

2

2007

刘六

0

0

3

1994

牛七

0

0

3

1995

牛七

0

0

3

1996

牛七

0

0

3

1997

牛七

0

0

3

1998

牛七

0

0

3

1999

牛七

0

0

3

2000

牛七

1

0

3

2001

李四

0

1

3

2002

李四

0

0

3

2003

牛七

0

0

3

2004

牛七

0

0

3

2005

牛七

0

0

3

2006

张三

1

0

3

2007

张三

0

1

3

2008

张三

0

1

3

2009

张三

0

1

3

2010

张三

1

1



规则是,以张三举例。如果张三在2002年if=1,那么如果在随后2003年=1,2004年if都等于0,那么is等于1.只要随后有一年张三对应if=1。那么,张三随后对应年份is都为1.


最佳答案

jl60156 查看完整内容

proc sort data=have out=temp; by name t; run; data want(drop=_t cnt); set temp; by name t; retain cnt _t; if first.name then do; _t=t; if if ne 1 then cnt=0; else cnt=1; end; if if=1 and cnt_t then _is=1; else _is=0; run;
关键词:name code MEI ODE fis
沙发
jl60156 发表于 2015-5-19 23:37:00 |只看作者 |坛友微信交流群
proc sort data=have out=temp;
        by name t;
run;
data want(drop=_t cnt);
        set temp;
        by name t;
        retain  cnt _t;
        if first.name then do;  
                        _t=t;
                        if if ne 1 then cnt=0; else cnt=1;
        end;
        if if=1 and cnt<2 then do;  cnt=cnt+1; _t=t; end;
        if cnt=1 and t-_t<=2 and if ne 1 then _is=1;
        else if cnt>1 and t>_t then _is=1;
        else _is=0;
run;
已有 1 人评分论坛币 收起 理由
admin_kefu + 30 热心帮助其他会员

总评分: 论坛币 + 30   查看全部评分

使用道具

藤椅
小鳄鱼a 发表于 2015-5-19 23:45:57 |只看作者 |坛友微信交流群
牛七  2001  2002 并没有出现,所以对表中的以后的数值无影响的

使用道具

板凳
小鳄鱼a 发表于 2015-5-21 11:33:54 |只看作者 |坛友微信交流群
求助啊

使用道具

报纸
zhengbo8 发表于 2015-5-21 16:38:13 |只看作者 |坛友微信交流群
问题描述不清楚,没明白。

使用道具

地板
小鳄鱼a 发表于 2015-5-21 16:51:28 |只看作者 |坛友微信交流群
zhengbo8 发表于 2015-5-21 16:38
问题描述不清楚,没明白。
is的结果已经给出。
也就是说如果某人在某年,if=1,那么在下两年,is都为0.
如果在if=1之后的任意年,又有if=1,那么以后年份,is都为1

使用道具

7
huangpengfei 发表于 2015-5-21 16:58:59 |只看作者 |坛友微信交流群
小鳄鱼a 发表于 2015-5-21 16:51
is的结果已经给出。
也就是说如果某人在某年,if=1,那么在下两年,is都为0.
如果在if=1之后的任意年,又 ...
能把你要的结果也贴个图出来吗?

使用道具

8
小鳄鱼a 发表于 2015-5-21 17:59:40 |只看作者 |坛友微信交流群
huangpengfei 发表于 2015-5-21 16:58
能把你要的结果也贴个图出来吗?
is  就是想要的结果啊

使用道具

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

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

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

GMT+8, 2024-4-25 19:35