楼主: Actree
5725 10

怎样拿出一个观测和那个观测的上一个和下一个观测? [推广有奖]

11
sber 发表于 2011-6-2 11:38:04
data have;
infile cards missover;
input obs name $;

cards;
1        5
2        7
3        haha
4        0
5        
6        6
7        4
8        3
9        haha
;
proc transpose data=have out=have_tr;
var name;
id obs;
run;

data want(keep=obs name);
set have_tr;
array d(*)_1-_9;
do i=1 to dim(d);
if d(i)="haha" then do;
if i ne 1 then do;
obs=i-1;
name=d(i-1);
output;
end;
obs=i;
name=d(i);
output;
if i ne dim(d) then do;
obs=i+1;
name=d(i+1);
output;
end;
end;
end;
run;
最后的名为want的数据集便是所需要的
已有 1 人评分热心指数 收起 理由
crackman + 1 鼓励积极发帖讨论

总评分: 热心指数 + 1   查看全部评分

我是小学生,来学一下有用的东东

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-29 11:48