I need to call a proc with different argument. In my code below, I have to change
1)value of p in each model statement
2)numeric value in the title.
It seems I cant do it in do loop. Should I use macro or is there a better way of reducing this repetitive code.
thank you
kashili
title "arch=1";
proc autoreg data=Ethylene maxit=2000;
model ret = / nlags=2 noint garch=(p=1);
run;
title "arch=2";
proc autoreg data=Ethylene maxit=2000;
model ret = / nlags=2 noint garch=(p=2);
run;
title "arch=3";
proc autoreg data=Ethylene maxit=2000;
model ret = / nlags=2 noint garch=(p=3);
run;
title "arch=4";
proc autoreg data=Ethylene maxit=2000;
model ret = / nlags=2 noint garch=(p=4);
run;
title "arch=5";
proc autoreg data=Ethylene maxit=2000;
model ret = / nlags=2 noint garch=(p=5);
run;
title "arch=6";
proc autoreg data=Ethylene maxit=2000;
model ret = / nlags=2 noint garch=(p=6);
run;
Hi,
Below macro will avoid reptitive use of proc but i don't know whether this the better way of reducing.
%macro proc_rep(p=);
%do i=1 %to &p;
title "arch=&i";
proc autoreg data=Ethylene maxit=2000;
model ret = / nlags=2 noint garch=(p=&i);
run;
%end;
%mend;
%proc_rep(p=6);
Regards
Sylas.J
Hi,
Below macro will avoid reptitive use of proc but i don't know whether this the better way of reducing.
%macro proc_rep(p=);
%do i=1 %to &p;
title "arch=&i";
proc autoreg data=Ethylene maxit=2000;
model ret = / nlags=2 noint garch=(p=&i);
run;
%end;
%mend;
%proc_rep(p=6);
Regards
Sylas.J
The AUTOREG procedure supports multiple MODEL statements. Each can have its own label. This allows a single read of the data.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.