作者west1996 ()
看板Statistics
標題Re: [程式] 如何用SAS建立連號的data
時間Tue Feb 7 10:59:20 2012
※ 引述《kurtasd (阿炫)》之銘言:
: [軟體程式類別]:
: SAS
: [程式問題]:
: 資料處理
: [軟體熟悉度]:
: 新手
: [問題敘述]:
: 目前有01~1000個.txt檔,想要分別匯入sas,目前的想法為建立data01~data1000,
: 在set起來,再用sort by時間以整理好檔案,問題就是有沒有辦法一次生成1000個data
: 且infile中的txt檔名也可以自動寫好呢?
: 想要達成的程式內容為:
: data 1;
: infile 'c:\1.txt' ;
: input a b c;
: data 2;
: infile 'c:\2.txt';
: input a b c;
: .
: .
: .
: .
: .
: .
: data 1000;
: infile 'c:\3.txt';
: input a b c;
: run;
: [程式範例]:
: 沒有程式,不過有想過用macro寫,目前想法為...
: %marcro var(n);
: %do i=1 %to &n;
: ------------------
: 這邊我就不知道怎麼寫了
: ------------------
: %end
: %mend
: 不知道怎麼寫的原因為我打data這個字下去
: 就好像掛不進macro了.....
: 麻煩了 各位大大 我不想copy-paste 1000次阿!!!!!!!!
: -----------------------------------------------------------------------------
%macro in;
%do i=1 %to 1000;
data data&i.;
infile " c:\&i..txt";
input a b c;
run;
%end;
data all;
set %do i=1 %to 1000; data&i. %end;
;
run;
proc sort data=all out=outall;
by 時間變數;
run;
%mend;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.117.131
推 kurtasd:感謝west大大,馬上來試試! 02/07 22:06
推 kurtasd:再問一下,為什麼第三行要打data&i.而不是data&i就好了呢? 02/07 22:21
→ west1996:其實在第三行兩種寫法都行,第四行的話就一定要兩個. 02/08 00:02
推 kurtasd:謝謝~ 02/08 15:14