Re: [問題] SAS迴圈問題?
其實並不用這麼複雜
如果你的資料是10000筆
你只是想要把資料前100筆跑一個 第二個100筆跑另外一個
那麼
data a;
set a;
order=int((_n_-1)/100);
run;
proc sort;by order;
run;
proc reg noprint outest=b tableout;
model y=x1-xn;
by order;
quit;
order會是0~99
那麼t b檔案就有你需要的所有資料
而且結果不會輸出到output
速度相對上會快上許多
也不需要有%macro的語法
※ 引述《liton (歐吉桑留學生)》之銘言:
: ※ 引述《tottier (透抽)》之銘言:
: : 我匯入的資料是10,000筆
: : 資料型態為第一組:1~100,第二組:101~200.....以此類推
: : 每100個為一組資料
: : 所以總共有1000組
: : 而每一組資料我要算一個p-value值
: : 所以我應該會得到1000個p-value值
: : 請問應該要怎麼寫迴圈
: 這個有點複雜 我講的大概
: 首先你得先確定你要輸出的參數的dataset
: SAS不同回歸程式 輸出的方式都不盡相同
: 最直接的是開ODS trace on; 可以參考以下這篇文章
: http://t3873229.blogspot.com/2008/12/ods.html
: 確定參數的dataset之後
: %macro OOXX;
: %do i=1 %to 100;
: ODS output 你查到的參數dataset=&if &i ne 1 %then para_tmp %else para;
: proc 跑回歸
: data=&i (轉成不同組的dataset)
: &if &i ne 1 %then %do;
: data para;
: set para para_tmp;
: proc dataset;
: delete para_tmp;
: %end;
: %macro ooxx;
: %ooxx;
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.232.240.66
→
12/17 20:28, , 1F
12/17 20:28, 1F
→
12/17 20:54, , 2F
12/17 20:54, 2F
→
12/17 20:57, , 3F
12/17 20:57, 3F
→
12/17 20:59, , 4F
12/17 20:59, 4F
→
12/17 21:08, , 5F
12/17 21:08, 5F
→
12/17 21:22, , 6F
12/17 21:22, 6F
→
12/17 21:49, , 7F
12/17 21:49, 7F
→
12/17 21:57, , 8F
12/17 21:57, 8F
→
12/18 07:38, , 9F
12/18 07:38, 9F
→
12/18 07:39, , 10F
12/18 07:39, 10F
→
12/18 07:40, , 11F
12/18 07:40, 11F
→
12/18 16:09, , 12F
12/18 16:09, 12F
→
12/18 16:12, , 13F
12/18 16:12, 13F
討論串 (同標題文章)