我有一个值很少的变量。示例:Var1 A、B、C、D、E、F、G、H
我怎样才能找到可能的总共 2 个字母组合?例如:AB、AC、AD 等。
这里我提到的列表很小,但总的来说我有一个很大的列表,需要找到可能的两个字母组合以及变量的所有值。谢谢
我有一个值很少的变量。示例:Var1 A、B、C、D、E、F、G、H
我怎样才能找到可能的总共 2 个字母组合?例如:AB、AC、AD 等。
这里我提到的列表很小,但总的来说我有一个很大的列表,需要找到可能的两个字母组合以及变量的所有值。谢谢
这会给你想要的桌子吗?我假设您想要所有 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;
笛卡尔连接将为您提供每种组合的每种组合,因此此处的自连接将为您提供所有可能性。我通常使用 Proc SQL:
Proc sql;
create table cartesian1 as
select * from table1,table1;
Quit;