# Generate all permutations of elements in SAS1 min read

0 0 vote
Article Rating Permutation: Permutation can simply be defined as the several ways of arranging few or all members within a specific order. It is the process of legibly arranging from chaos. This is what is termed a Permutation.

To Generate all permutations of elements in SAS, use the FACT function then determine the permutation using the CALL ALLPERM.

CALL ALLPERM and CATS function are new in SAS 9.0.

``````data ex1;
drop i perms x1-x3;
array x (3) \$3 ('a' 'b' 'c');
length perm \$3;
perms=fact(3);
do i=1 to perms;
call allperm(i, of x(*));
perm=cats(of x(*));
output;
end;
run;

proc print;
run;`````` Combination: The combination is a process of selecting the objects or items from a set or the collection of objects, such that (unlike permutations) the order of selection of objects does not matter. It refers to the combination of N things taken from a group of K at a time without repetition.

``````data test(drop=x1-x3 h1-h3);
array x \$3 ('a' 'b' 'c');
array h \$3;
n=dim(x);

do k = 1 to 3;
ncomb=comb(n,k);
call sortc(of x(*));
call missing(of h(*));

do j=1 to ncomb;
rc=allcomb(j,k,of x[*]);

if rc<0 then
leave;

do i= 1 to k;
h[i]=x[i];
end;

allcombns=cats(of h(*));
output;
end;
end;

drop i j k n ncomb rc;
run;
proc print;`````` 0 0 vote
Article Rating
Subscribe
Notify of This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x
Scroll to Top