Re: [問題] 關於macro語法的問題
※ 引述《Brunhilde (不見。)》之銘言:
: 剛學macro的語法
: 有點問題想請教一下
: 我有設定了
: %do i=0 %to 1;
: 可是只跑出了0的部份
: 以下為全部語法 謝謝
: data y n;set HY.taidd96_06480487;
: if ICD9_2 in ('493','490','491','492','494','496') then output y;
: else output n;
: run;
: %macro aa;
: data L0;Set HY.taipollcli;day=date;
^^^^
: %do i=0 %to 1;
: L0&i.PM10=lag&i(PM10);
: L0&i.SO2=lag&i(SO2);
: L0&i.NO2=lag&i(NO2);
: L0&i.CO=lag&i(CO);
: L0&i.O3=lag&i(O3);
: if 1996 le year(date) le 2006 then output;
: if temp<23 then output;
: drop PM10 CO SO2 NO2 O3 stno;
: format day date9.;
: run;
^^^^
data 和run 是一組的 也就是說,雖然你在最後面加了對應%do的%end
但是sas在這邊就會把妳的%do卡掉
你下面的程式我沒有細看,所以不確定你想做什麼
如果要把整個內容用i=0 和1各執行一便的話
可以把%do那一行放到data上面那一行試試看
: proc sort data= L0;
: by day;run;
: proc sort data=N;by IN_DATE;run;
: data b;set N; day=IN_date;
: BY IN_DATE;
: IF FIRST.IN_DATE THEN DO;
: NO=0;
: END;
: NO+1;
: IF LAST.IN_DATE;
: if 1996 le year(IN_date) le 2006 then output;
: format day date9.;
: run;
: data ev; merge b(in=e) L0;by day;
: if e=1;
: run;
: data event; set ev;
: eventday=In_date;
: format eventday date9.;
: Run;
: data ref1; set event;
: day=eventday+7; EVEN=2;
: drop L0&i.PM10 L0&i.CO L0&i.SO2 L0&i.NO2 L0&i.O3 RH temp;
: format day date9.;run;
: proc sort data=ref1;
: by day;run;
: data ref11; merge ref1(in=e) L0;
: by day;if e=1;case=0;
: ;run;
: data ref2; set event;
: day=eventday-7; EVEN=2;
: drop L0&i.PM10 L0&i.CO L0&i.SO2 L0&i.NO2 L0&i.O3 RH temp;
: format day date9.;run;
: proc sort data=ref2; by day;run;
: data ref22; merge ref2(in=e) L0; by day;if e=1;case=0;
: run;
: data event0;set event;
: drop L0&i.PM10 L0&i.CO L0&i.SO2 L0&i.NO2 L0&i.O3 RH temp;
: day=eventday; EVEN=1;format day date9.;run;
: data event00;merge event0(in=e) L0; by day;
: ;if e=1;case=1;run;
: data test; set event00 ref11 ref22; run;
: proc sort data=test;by day;run;
: data test1;merge test(in=e) b;by day;
: if e=1;
: run;
: data test2;set test1;
: a&i.PM10=L0&i.PM10/24.99 ;
: a&i.SO2=L0&i.SO2/2.42;
: a&i.NO2=L0&i.NO2/8.67;
: a&i.CO=L0&i.CO/0.37;
: a&i.O3=L0&i.O3/12.2;
: Run;
: /*單變項ties case(0) TIES=BRESLOW weight*/
: proc phreg data=test2;
: model even*case(0)=a&i.PM10 /rl TIES=BRESLOW;strata eventday; weight no;run;
: proc phreg data=test2;
: model even*case(0)=a&i.SO2 /rl TIES=BRESLOW; strata eventday; weight no;run;
: proc phreg data=test2;
: model even*case(0)=a&i.NO2 /rl TIES=BRESLOW ;strata eventday; weight no;run;
: proc phreg data=test2;
: model even*case(0)=a&i.CO /rl TIES=BRESLOW; strata eventday; weight no;run;
: proc phreg data=test2;
: model even*case(0)=a&i.O3 / rl TIES=BRESLOW; strata eventday; weight no; run;
: %end;
: %mend aa;
: %aa;
--
(C)lass 【 分組討論區 】
11 卡漫夢工廠 卡通, 漫畫, 動畫 [Ckmike]
4 C_J_Artist 作家 Σ日本漫畫家專區 [Ckmike]
10 TakahasiShin 作家 ◎****高橋真作品討論版**** kenshin528
http://kenshinsasstory.blogspot.com/ SAS Story
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.119.47.118
推
11/04 13:50, , 1F
11/04 13:50, 1F