看板 Statistics 關於我們 聯絡資訊
請問各位一個問題: 有下列的資料: a1 a2 1101 1 1101 2 1101 3 1102 4 1102 5 1102 6 現在取lag值 不過會出現以下的情況 a1 a2 a3 1101 1 . 1101 2 1 1101 3 2 1102 4 3 1102 5 4 1102 6 5 1103 7 6 如果要讓sas依據a1判別 如果a1的代號不同則為miss值 例如下面結果: a1 a2 a3 1101 1 . 1101 2 1 1101 3 2 1102 4 . 1102 5 4 1102 6 5 1103 7 . 剛剛有爬一下文章 先前有人碰過這個問題 我看推文 如果依照推文我應該寫成如下面的程式語法: if first . a1 then a3=.; 不過跑不出來 請問一下我該如何解決? 附上程式寫法: DATA BOOK2; PROC SORT DATA=BOOK2; BY A1 DESCENDING Y; DATA BOOK3; SET BOOK2; Y2=LAG(F11); IF first.A1 THEN Y3=.; PROC PRINT DATA=BOOK3; RUN; 上述的F11所代表的變數是要取的LAG值 令取完後的新的變項為Y2 IF的條件命令 是爬文後的想法所加進去的 不知道這樣寫對不對? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.23.195.24
tew:要先依照a1排序 02/23 21:24
tew:或者是你指令先後順序錯誤 完整的寫法才能除錯 02/23 21:30
※ 編輯: bestdavidoff 來自: 163.23.195.24 (02/23 21:43)