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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.