Re: [問題] SAS資料處理

看板Statistics作者 (歐吉桑留學生)時間15年前 (2009/02/03 23:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串9/19 (看更多)
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
文章代碼(AID): #19Y6LwU5 (Statistics)
討論串 (同標題文章)
文章代碼(AID): #19Y6LwU5 (Statistics)