全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
937 4
2012-11-08
我有个序列s,如果s(i)<s(i+1)<s(i+2)则产生一个新变量b在i+2行赋值为1,用什么方法编呢


id  s
1  4
2  5
3  7
4  19
5  3
6  1
要得到
id  s   b
1  4   
2  5
3  7    1
4  19  1
5  3
6  1     
非常感激啊~~

二维码

扫码加我 拉你入群

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

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

全部回复
2012-11-8 14:59:00
思路或者代码都可以,谢谢了
二维码

扫码加我 拉你入群

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

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

2012-11-8 15:11:55
求牛人啊
二维码

扫码加我 拉你入群

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

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

2012-11-8 16:20:39
data test;
input id $ s;
cards;
1  4
2  5
3  7
4  19
5  3
6  1
;
data test1;
set test;
if _n_>=3 and lag2(s)<lag(s) and lag(s)<s then b=1;
run;
二维码

扫码加我 拉你入群

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

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

2012-11-8 16:23:12
data ex;
input id s;
cards;
1  4
2  5
3  7
4  19
5  3
6  1
;
run;

data ex1;
set ex;
s1=lag(s);
s2=lag2(s);
if _n_>2 and s>s1 and s1>s2 then b=1;
run;
二维码

扫码加我 拉你入群

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

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

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群