Generate all permutations of elements in SAS1 min read

0 0 vote
Article Rating

Generate all permutations of elements in SAS 1

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;

Generate all permutations of elements in SAS 3

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] $3 ('a' 'b' 'c');
	array h[3] $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;

Generate all permutations of elements in SAS 5

 

0 0 vote
Article Rating
Subscribe
Notify of
guest

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