SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 787|回复: 2
打印 上一主题 下一主题

关于删除观测的问题

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-3-2 19:12:31 | 只看该作者

关于删除观测的问题

数据集A包含变量a,其观测为
0
1
0
1
1
0
1
1
现在想把那些连续两个都为1(观测中不会出现三个连续为1的情况)的观测删掉,也就是得到数据集B,如下
0
1
0
0
这样的程序该怎么写呢?谢谢!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-3-3 13:54:45 | 只看该作者

Re: 关于删除观测的问题

[code:1yhgtm60]
data a;
input x;
cards;
0
1
0
1
1
0
1
1
;

data b(keep=x);
merge a a(firstobs=2 rename=(x=y));
z=lag(x);
if x=y=1 | x=z=1 then delete;
proc print;run;[/code:1yhgtm60]
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2008-3-3 21:32:26 | 只看该作者

Re: 关于删除观测的问题

[code:3sza67gr]
data a;
input x;
cards;
0
1
0
1
1
0
1
1
;
run;

data result(drop=i);
        set a;
        by x notsorted;
        if first.x then i=0;
        i+1;
        if last.x and i=1;
run;
[/code:3sza67gr]
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 16:25 , Processed in 0.067255 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表