楼主: handsome0611
1473 4

提取数据遇到问题 [推广有奖]

  • 0关注
  • 0粉丝

硕士生

56%

还不是VIP/贵宾

-

威望
0
论坛币
569 个
通用积分
2.8500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1218 点
帖子
56
精华
0
在线时间
219 小时
注册时间
2010-2-15
最后登录
2023-6-12

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
本人小白,最近开始研究SAS。我现在对数据做了差分,想提取符合条件的,具体如下
x1  dif(x1)
1    .
2    1
4    2
5    1
7    2
dif(x1)是对X1做了差分,如果dif(x1)=1,那么提取本行和上一行的数据,请问这个怎么实现
二维码

扫码加我 拉你入群

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

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

关键词:DIF

沙发
wwang111 发表于 2014-4-15 17:06:18 |只看作者 |坛友微信交流群
data a;
input x1 @@;
dif=dif(x1);
obs1=_n_;
if dif=1 then obs2=obs1-1;
cards;
1 2 4 5 7
;

proc sql noprint;
select obs1 into: obs1 separated by ','
from a
where dif=1;
select obs2 into: obs2 separated by ','
from a
where dif=1;
quit;

data wanted;
set a;
if _n_ in (&obs1,&obs2);
keep x1;
run;
只有一个罗纳尔多

使用道具

藤椅
huangpengfei 发表于 2014-4-16 15:39:52 |只看作者 |坛友微信交流群
data c1;
        input x1 ;
        dif=dif(x1);
        obs+1;
        datalines;
        1
        2
        4
        5
        7
        ;
run;
proc sort data=c1 ;
        by descending obs;
run;
data c1;
        set c1;
        dif1=lag(dif);
run;
proc sort data=c1;
        by obs;
run;
data c1;
        set c1;
        where dif=1 or dif1=1;
        drop obs dif1;
run;

使用道具

板凳
handsome0611 发表于 2014-4-22 07:10:13 |只看作者 |坛友微信交流群
huangpengfei 发表于 2014-4-16 15:39
data c1;
        input x1 ;
        dif=dif(x1);
3q a lot .非常有帮助。

使用道具

报纸
handsome0611 发表于 2014-4-22 07:10:55 |只看作者 |坛友微信交流群
wwang111 发表于 2014-4-15 17:06
data a;
input x1 @@;
dif=dif(x1);
学习了,真是感谢,有人支持就有学习的动力~~~

使用道具

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

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

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

GMT+8, 2024-5-1 17:37