我有一个变量,其值很少。 示例:Var1 A,B,C,D,E,F,G,H
如何找到可能的2个字母组合?例如:AB,AC,AD等。
这里我提到的列表很小,但总的来说我有一个巨大的列表,需要找到可能的变量所有值的两个字母组合。感谢
答案 0 :(得分:0)
笛卡尔联接将为您提供针对每种组合的所有组合,因此在这里自我加入将为您提供所有可能性。我通常使用Proc SQL:
Proc sql;
create table cartesian1 as
select * from table1,table1;
Quit;
答案 1 :(得分:0)
这会给你想要的桌子吗?我假设您想要所有2个字母组合而不是排列(即顺序不相关)。
data have;
input var1 $;
datalines;
A
B
C
D
E
F
G
H
;
run;
data want;
set have nobs=nobs;
length two_way $2;
do i=_n_+1 to nobs;
set have (rename=(var1=temp)) point=i;
two_way=cats(var1,temp);
keep two_way;
output;
end;
run;