作者west1996 (焦了六年变脆了)
看板Statistics
标题Re: [问题] SAS资料处理
时间Tue Feb 3 12:05:33 2009
※ 引述《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来写程式
: 请问否有其他比较简洁的方法?
: 谢谢
data XXXX;
retain flag;
set XXXX;
by id;
if first.id then flag=0;
if x1=1 and flag=0 then
do;
flag=1;
output;
end;
if last.id and flag=0 then output;
run;
我也不知道这样有没有比较快
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.109.40.59
※ 编辑: west1996 来自: 140.109.40.59 (02/03 12:06)
旧的有错,改了一下
※ 编辑: west1996 来自: 140.109.40.59 (02/05 09:48)