Not applicable
Posts: 1

# All possible combinations of variables

I have data set with 10 binary variables (var1-var10), and about 300 observations.

I want to output 9 data sets:

Data set 1: all combinations of the 10 variables taken 2 variables at a time (10 choose 2), so 45 rows

Data set 2: 10 choose 3, so 120 rows

....

Data set 9: 10 choose 10, so just 1 row

Each data set will include all var1-var10, and percent variable that shows how many observations =1 for each combination in data.

For example (for data set of 10 choose 2):

var1      var2         var3     ....       var10           Percent

1           1                                                         3% (percent of 300 observations where var1=1 and var2=1)

1                           1                                         70%

1                                                   1                 5%

.... showing all possible combinations of 10 choose 2

Best way to do this, and can be applied to larger number of variables that would produce larger data sets (i.e. 30 variables, taken 15 at a time = >150 million obs)?

Frequent Contributor
Posts: 106

## Re: All possible combinations of variables

Posted in reply to prof_louisa

hi ,

heres the code which wil generate multiple tables based on no of 1's present in row:

data test;

input a1-a10;

count=sum(of a1-a10);

cards;

1 1 . . . . . . . .

1 1 1 . . . . . . .

1 1 1 1 . . . . . .

1 . . . . . . 1 . .

1 1 1 1 . . . . . .

1 1 1 1 . . . . . .

1 1 1 1 1 . . . . .

1 1 1 1 1 1 . . . .

1 1 1 1 1 1 1 . . .

1 1 1 1 1 1 1 1 . .

1 . . . 1 . . . 1 .

1 1 1 1 1 1 1 1 1 .

1 1 1 1 1 1 1 1 1 1

;

%macro multi;

%do i=1 %to 10;

data table&i(drop=count);

set test;

if count=&i;

run;

%end;

%mend;

%multi;

Super User
Posts: 8,214

## Re: All possible combinations of variables

Posted in reply to prof_louisa

A couple of solutions can be found at:

Alternatively, if you have SAS/STAT, you can probably use proc plan to accomplish the task.

SAS Super FREQ
Posts: 4,268

## Re: All possible combinations of variables

PROC PLAN is in SAS/STAT software.

Super User
Posts: 8,214

## Re: All possible combinations of variables

Thanks Rick!  After seeing your note I corrected it on my original post.

Art

Posts: 3,866

## Re: All possible combinations of variables

Posted in reply to prof_louisa

Does this example model your data and desired output?  I do not understand exactly the starting point.

data bvars;
do id=1 to 300;

array v[10];
do _n_ = 1 to dim(v);
v[_n_] = rantbl(4,.5)-1;

end;

output;

end;

run;
proc summary data=bvars chartype;

class v:;
ways 2;

output out=ways2;
run;
Discussion stats
• 5 replies
• 3389 views
• 0 likes
• 5 in conversation