作者liton (欧吉桑留学生)
看板Statistics
标题Re: [问题] SAS资料处理
时间Tue Feb 3 23:40:41 2009
data output;
set xxxx;
by id x1;
lag_id=lag(id);lag_x1=lag(x1);
if id eq lag_id and x1 ne lag_x1 then output;
else if last.x1 then output;
end;
run;
没试过在group里面用lag..自己试试看
※ 引述《margaret3233 (margaret)》之铭言:
: 我的资料如下
: id time x1 x2
: A1 1 0 a1
: A1 2 0 a2
: A1 3 1 a3
: A1 4 1 a4
: A1 5 1 a5
: A2 1 0 a6
: A2 2 0 a7
: A2 3 0 a8
: A2 4 0 a9
: A3 1 0 a10
: A3 2 1 a11
: A3 3 1 a12
: A3 4 1 a13
: A3 5 1 a14
: A4 1 0 a15
: A4 2 0 a16
: A4 3 1 a17
: ...
: 我想抓出 每一个id
: 在x1变项最先出现1时 x2的数值
: 若是x1没出现则抓最後time的x2 数值
: 希望最後是
: id time x1 x2
: A1 3 1 a3
: A2 4 0 a9
: A3 2 1 a11
: A4 3 1 a17
: 目前只想到最笨的方法是先transpose
: 在用很多if来写程式
: 请问否有其他比较简洁的方法?
: 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.167.177.68