赫赫,大家考虑复杂了,8句话就能解决。
data a;
input no cost;
cards;
1 3767.11
2 4683.89
3 3111.59
4 1111.03
5 4030.38
6 3791.35
7 5361.34
8 1380.84
9 7691.02
10 2079.44
11 3890.88
12 623.45
13 5287.07
14 653
15 4426.4
16 11651.7
17 1569.17
18 4751.24
19 1850.73
20 3267.78
;
run;
data b;
set a;
lagcost=lag(cost);
m=(cost+lagcost)/2;
lagcost2=lag2(cost);
if cost>lagcost>lagcost2 then r=0;
else if cost<lagcost<lagcost2 then r=0;
else r=1;
if lagcost=. or lagcost2=. then r=.;
drop lagcost lagcost2;
run;
[此贴子已经被作者于2007-10-18 18:35:04编辑过]