Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SAS在数据集中查找顶级组合_Sas - Fatal编程技术网

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;
    

    实际上,排列是一个问题——您建议如何解决这个问题?不要执行排序过程,其他人也是如此。