[程式] SAS 動態取觀測值

看板Statistics作者 (...)時間14年前 (2011/04/03 21:51), 編輯推噓0(003)
留言3則, 2人參與, 最新討論串1/1
[軟體程式類別]:SAS [程式問題]:資料處理 [軟體熟悉度]:新手 [問題敘述]: 有一個問題想請教 比方說從1-10這10個數裏面,從第2個開始讀取觀測讀到5個觀測為止: data tmp; input a @@; datalines; 1 2 3 4 5 6 7 8 9 10 ; run; data get; set tmp(firstobs=2 obs=5); run; proc means data=get; var a; output out=result n=totalnumber var=variance; run; proc print data=result(keep=totalnumber variance); run; 輸出結果: SAS 系统 2011年04月03日 星期日 下午08时43分49秒 52 Obs totalnumber variance 1 4 1.66667 這很正常 可是如果要取i到i+5的觀測 data get; i=5; /*(比如我給i先賦值了)*/ set tmp(firstobs=i obs=i+5); drop i; run; 此時無法輸出結果 提示i中無效的數字轉換 如果想動態的取一部分觀測怎麼辦呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.86.133.37

04/03 23:04, , 1F
%let i=5; data get;
04/03 23:04, 1F

04/03 23:05, , 2F
set tmp(firstobs=&i obs=%eval(&i+5)); run;
04/03 23:05, 2F

04/06 17:42, , 3F
謝謝M大解惑!
04/06 17:42, 3F
文章代碼(AID): #1Dc7j7JV (Statistics)