[程式] SAS不同群組的時間相減

看板Statistics作者 (談無慾)時間9年前 (2014/10/21 10:25), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/3 (看更多)
------------------------------------------------------------------------ [軟體程式類別]: 請填入軟體程式類別,例如:SAS、SPSS、R、EVIEWS...等 SAS [程式問題]: 資料處理、迴歸、敘述統計、logistic、probit...等 資料處理 [軟體熟悉度]: 中(3個月到1年 [問題敘述]: 我有一筆資料如下 希望作出不同MONBR的最後一筆OTU_TIME-第一筆的IN_TIME 並存到另外一個欄位 例如 MONBR A 是 27Jun2014 14:57:53-23Jun2014 14:57:50 MONBR B 是 25Jun2014 14:47:18-23Jun2014 14:47:12 MONBR 班別 IN_TIME OUT_TIME A 1 23Jun2014 14:57:50 23Jun2014 14:57:50 A 2 23Jun2014 14:57:51 23Jun2014 14:57:51 A 3 23Jun2014 14:57:52 23Jun2014 14:57:52 A 4 23Jun2014 14:57:53 27Jun2014 14:57:53 B 1 23Jun2014 14:47:12 23Jun2014 14:47:12 B 2 23Jun2014 14:47:15 23Jun2014 14:47:15 B 3 23Jun2014 14:47:18 25Jun2014 14:47:18 [程式範例]: 雖然張貼程式很可怕,但基本上有些程式還是要張貼才能解決 目前用ifn函數但是沒辦法解決的樣子 data STEP_2; set WORK.'STEP_1'n; by MONBR; first_in= ifn( first.MONBR , INTIME , (.) ); /*如果是MONBR的第一組 那就放intime 如果不是就是遺漏值*/ last_out= ifn( last.MONBR , OUTTIME , (.) ); run; 出來結果會變成 就卡住了 不知道有沒有其他辦法可以解決 MONBR 班別 first_in last_out A 1 23Jun2014 14:57:50 0 A 2 0 0 A 3 0 0 A 4 0 27Jun2014 14:57:53 B 1 23Jun2014 14:47:12 0 B 2 0 0 B 3 0 25Jun2014 14:47:18 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.35.215.137 ※ 文章網址: http://www.ptt.cc/bbs/Statistics/M.1413858304.A.C39.html

10/21 10:42, , 1F
用retain first_in;然后用if first.MONBR then **;
10/21 10:42, 1F

10/21 10:43, , 2F
if last.MONBR then **; if last.MONBR then output;
10/21 10:43, 2F

10/21 10:55, , 3F
請問這樣是會變成另外一張TABLE嗎 但因我還有其他要計算
10/21 10:55, 3F

10/21 10:55, , 4F
的...
10/21 10:55, 4F

10/21 10:55, , 5F
弄成另外一張TABLE再併回來嗎?
10/21 10:55, 5F

10/21 11:22, , 6F
如果不用變成新的data也可以,那就把output那行code去掉
10/21 11:22, 6F
文章代碼(AID): #1KHSG0mv (Statistics)
文章代碼(AID): #1KHSG0mv (Statistics)