要求每个观察值的第一个作为 baseline, 用第二,三,四 ....,减去第一个,得到一个新变量. 新数据第一个观察值是这样:
obs month p new
1 Jan 0.5
1 Feb 0.4 -0.1(=0.4-0.5)
1 March 0.6 0.1(=0.6-0.5)
1 April 0.3 -0.2(=0.3-0.5)
先谢谢了!
楼上的程序不健壮,如果第一条record的obs值不是1的话,那就达不到楼主的要求了,
看下我这里的程序,由系统的自动变量_n_来进行处理。
data bb(drop = base);
retain base;
set aa;
if _n_ = 1 then
base = p;
else
p = p - base;
run;