作者faceoflove56 (1234567)
看板Statistics
標題[程式] SAS-first語法
時間Sat Mar 14 17:05:10 2015
[軟體程式類別]:
SAS
[程式問題]:
資料處理
[軟體熟悉度]:
低(1~3個月)
[問題敘述]:
Obs country year sales lag_sales
1 NZ 1999 42323 .
2 NZ 2001 45240 42323
3 NZ 2002 57865 45240
4 NZ 2003 62129 57865
5 NZ 2004 70048 62129
6 NZ 2005 90738 70048
7 TW 1999 4354 90738<<
8 TW 2001 3582 4354
9 TW 2002 8112 3582
10 AN 2001 7009 8112<<
11 AN 2002 15442 7009
12 AN 2003 6257 15442
我看了LOG,顯示
NOTE: Variable first.country is uninitialized.
ERROR: BY variables are not properly sorted on data set MYLIB.Y1DATA.
[程式範例]:
data mylib.Prod;
set mylib.Y1Data;
by country year;
LAG_sales=Lag(sales);
if first.country then LAG_S=.;
run;
-----------------------------------------------------------------------------
資料來源:
http://r97846001.blog.ntu.edu.tw/2011/06/18/saslag/
我的程式碼也是參考此網頁的,但結果卻不同,請各位前輩幫忙
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.119.120.6
※ 文章網址: https://www.ptt.cc/bbs/Statistics/M.1426323912.A.349.html
推 tew: 你的第一個 不是是sales 而是country 03/14 18:02
→ faceoflove56: sorry, 我打錯了 03/14 22:30
※ 編輯: faceoflove56 (140.119.143.76), 03/14/2015 22:30:38
推 imaltar: 你要先用proc sort 03/15 18:48
→ faceoflove56: 已完成囉~解決方法是把資料export 我是輸出成csv 03/16 14:01
→ faceoflove56: 再import一次就行了 03/16 14:01
推 alias: 我不認為是錯誤是你說的重新import就好 03/16 22:11
→ alias: 看你po的語法加上我試跑的結果,出錯原因是你程式寫錯 03/16 22:12
→ alias: 而且是寫錯變數名稱, 這錯誤在你重新import data時 03/16 22:13
→ alias: 恰巧修正而已 03/16 22:14
推 alias: 抱歉,更正我的錯誤, 你的錯誤還是在於語法寫錯, 03/16 22:20
→ alias: 你原先執行時, 應該是漏了by country year; 03/16 22:21