Hello, I'm a SAS noob (using SAS 9.4) and couldn't find an existing question to satisfy my question, so here I am. I need to create a series of dummy variable matrices of several categorical variables for all possible combinations of a set of stratifying variables. In the simplified example below, I input the 4 actual stratifying variables and possible values (a-d), and 2 categorical variables (ms3c and edu2c). If you run the code below, the resulting datasets (test2, test3) represent what I will want as output but as separate csv files. SHould end up with 840 different matrices. I have been try to include a 'allcomb' function in a DO Loop, but can't figure out the syntax. Thanks for any help. data test1;
input uid a b c d ms3c edu2c;
cards;
1 1 1 1 1 2 2
2 1 2 1 1 3 2
3 1 3 3 3 3 1
4 2 4 4 4 2 1
5 1 5 5 5 1 2
6 2 6 1 6 2 1
7 1 7 2 7 1 2
8 2 8 3 6 3 2
9 1 9 4 5 3 1
10 2 10 5 4 2 2
11 2 11 1 3 2 2
12 1 12 2 2 1 2
13 1 1 1 1 3 1
14 1 2 1 1 2 2
15 2 3 5 3 2 1
run;
* this gives an idea of what I need to do, create 1 matrix for every combination of strata variables;
data test2 (drop=uid a b c d ms3c edu2c);
set test1;
if a=1 and b=1 and c=1 and d=1 and ms3c=2 then ms2=1; else ms2=0;
if a=1 and b=1 and c=1 and d=1 and ms3c=3 then ms3=1; else ms3=0;
if a=1 and b=1 and c=1 and d=1 and edu2c=2 then edu2=1; else edu2=0;
* export to csv;
run;
*;
data test3 (drop=uid a b c d ms3c edu2c);
set test1;
if a=1 and b=2 and c=1 and d=1 and ms3c=2 then ms2=1; else ms2=0;
if a=1 and b=2 and c=1 and d=1 and ms3c=3 then ms3=1; else ms3=0;
if a=1 and b=2 and c=1 and d=1 and edu2c=2 then edu2=1; else edu2=0;
* export to csv;
run;
* ... and so on ...;
... View more