假设有4个不同的位置(P1,P2,P3, P4),每个位置都可以放红,黄, 绿 3 种颜色的球。
这样总共可以有 3 X 3 X 3 X 3 = 81 种不同的放法。
现在我想和各位SAS专版的会员讨论一下如何把这81种不同的放法都列出来。
我的方法如下:
第一步:建一个数列 (1,2,3,4,5,6,7,8,9,10,11,12)
第二步:用 MACRO %permute(
4, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) ,将从
12个不同的数里任意选
4个数的所有不同
排列都列出来。
(There are 4 variables: r1, r2, r3, r4 in SAS dataset output)
http://support.sas.com/techsup/technote/ts498.html
第三步 :在所有的排列中,将(1, 2, 3, 4) 替换成 ("R")
将(5, 6, 7, 8) 替换成 ("Y")
将(9, 10, 11, 12) 替换成 ("G")
第四步:合并 r1, r2, r3, r4 (
TRIM(r1) || TRIM(r2) || TRIM(r3) || TRIM(r4))成为一个新的variable: RYG.
第五步:删除所有重复的情况(select distinct RYG),最后得到81种不同的放法。
请各位SAS专版的会员分享一下你们的方法。谢谢!