SAS在数据集中查找顶级组合
见鬼-- 我有一些销售数据,如下所示:SAS在数据集中查找顶级组合,sas,Sas,见鬼-- 我有一些销售数据,如下所示: data have; input order_id item $; cards; 1 A 1 B 2 A 2 C 3 B 4 A 4 B ; run; 我想找出的是最流行的订购组合是什么。例如,在上述情况下,有2个订单包含项目A和B、1个A和C订单以及1个B订单。输出不同组合以及下订单数量的最佳方式是什么?解决此问题的方法有很多,我不想说哪一种是最好的。下面是一个非常简单的方法,您可以使用: 转换数据,使每个订单只有一行,每个产品有一个指示符变量 将
data have;
input order_id item $;
cards;
1 A
1 B
2 A
2 C
3 B
4 A
4 B
;
run;
我想找出的是最流行的订购组合是什么。例如,在上述情况下,有2个订单包含项目A和B、1个A和C订单以及1个B订单。输出不同组合以及下订单数量的最佳方式是什么?解决此问题的方法有很多,我不想说哪一种是最好的。下面是一个非常简单的方法,您可以使用:
proc corr
,为指标变量生成相关矩阵,并寻找最强的相关性似乎没有排列问题,您可以尝试以下方法:
proc sort data=have;
by order_id item;
run;
data temp;
set have;
by order_id;
retain comb;
length comb $4;
comb=cats(comb,item);
if last.order_id then do;
output;
call missing(comb);
end;
run;
proc freq data=temp;
table comb/norow nopercent nocol nocum;
run;
实际上,排列是一个问题——您建议如何解决这个问题?不要执行排序过程,其他人也是如此。