看板 Statistics 關於我們 聯絡資訊
前文恕刪,先謝謝原po的題目讓我有機會練習如何在SAS環境操作這樣的問題。 以下是我跑的SAS程式,參考t大與k大的說明,使用sort以及merge 不曉得有沒有更精簡的寫法,請大家多多指教! data a; input id time event; cards; 1 2007 1 1 2008 0 1 2009 1 1 2010 1 2 2007 0 2 2008 1 2 2009 0 2 2010 1 ; run; proc sort data=a; by descending id descending time; run; data a1; set a; if event=0 then delete; endtime=lag(time); run; proc sort data=a; by id time; run; proc sort data=a1; by id time; run; data final; merge a a1; by id time; run; proc sort data=final; by id time; run; 不過遇到一個問題,就是第一個ID的最後一筆time會抓到下面的時間 我後來用last.id 去掉了~"~ 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.4.180
hannahluis:感謝眾位大大提點! 02/11 22:58