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.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
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.