06-24-2015 05:15 PM
Is there any way we can use variables in different combinations in a macro? For example, there are 3 variables - Var 1 Var2 Var3.
Possible combinations i would like to make ---
Var1 Var2 Var3
Order does not matter (Var1 Var2 Var3 and Var2 Var1 Var3 - Same).
06-25-2015 03:58 PM
What i really want to accomplish - Look at the macro below . In this case, it is selecting variables one by one and testing it as an independent variable in single linear regression model. I want the different combinations of variables to be used and testing it as independent variables in regression model.
%macro regcomb ( input =, depvar =, vars=);
%do i=1 %to &n;
%let val = %scan(&vars,&i);
ods select none;
ods output ParameterEstimates=Estimate&i;
proc reg data = input;
model &depvar. = &val.;
set Estimate1 - Estimate&n;
06-25-2015 04:24 PM
Look at the results of this and the VARLIST macro variable.
%let v1= Var1;
%let v2= Var2;
%let v3= Var3;
%let v4= Var4;
%let v5= Var5;
%do k=1 %to 3;
%do j=1 %to &ncomb;
%syscall allcomb(j, k, V1, V2, V3, V4, V5);
%do i = 1 %to &k; %let varlist=&varlist &&V&i; %end ;
06-25-2015 04:55 AM
This might not be what you are after but this sort of does what you ask for.
input Variables $ ;
from Vars as a, vars as b, vars as c
The proc sql does a self join and you get all combinations. Maybe you can work towards your goal from this.