看板 Statistics 關於我們 聯絡資訊
company year x1 company year x1 A 1990 10 A 1990 . A 1991 11 A 1991 10 A 1992 14 A 1992 11 A 1993 13 A 1993 14 A 1994 16 A 1994 13 A 1995 12 我想把資料變成 A 1995 16 ------------------> B 1990 4 B 1990 . B 1991 8 B 1991 4 B 1992 13 B 1992 8 B 1993 18 B 1993 13 C 1990 6 C 1990 . C 1991 10 C 1991 6 C 1992 14 C 1992 10 我要取LAG一期,然後是按公司分別取 [程式範例]: data sas.yyy; set sas.xxx; by company; Lag_x1 = LAG(x1); run; 但是會變成 company year x1 Lag_x1 A 1990 10 . A 1991 11 10 A 1992 14 11 A 1993 13 14 A 1994 16 13 A 1995 12 16 B 1990 4 12 B 1991 8 4 B 1992 13 8 B 1993 18 13 C 1990 6 18 C 1991 10 6 C 1992 14 10 有爬過文,好像有什麼 if first. 指令,可是看不太懂... 請板上大大幫忙,謝謝。 ----------------------------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.243.66 ※ 編輯: loswin 來自: 140.116.243.66 (02/24 22:58)
bugle:data sas.yyy; 02/24 22:57
bugle:set sas.xxx; 02/24 22:57
bugle:by company; 02/24 22:57
bugle:Lag_x1 = LAG(x1); 02/24 22:58
bugle:if first.company then Lag_x1 = .; 02/24 22:58
bugle:run; 02/24 22:58
loswin:好快的回文... 可以了耶 感謝!!!!!!! 02/24 23:05
loswin:想請問一下if first.company then Lag_x1 = .; 是什麼意思 02/24 23:11
wlsherica:如果遇到各公司的第一個,就讓Lag_x1這個新變項為"." 02/24 23:13
tew:要不要延伸思考 取5期落後期的語法要如何寫 02/25 11:46
sneak: 要不要延伸思考 取5 https://muxiv.com 01/02 15:03