众数的计算在数据挖掘过程中是一个非常重要的步骤,比例在交易数据中需要统计每个用户最频繁的交易方式是什么。
下面的程序主要使用了MACRO, SQL,其中SQL使用了多重嵌套查询的功能(变态的使用了四重)。如果数据集较大,需要对数据集创建索引,另外,也可将数据集分成子集计算以克服内存限制。
【宏参数定义】 主要需要以下几个宏参数,TransDS需要分析的交易数据集,XVar需要计算众数的变量,IDVar编号,OutDS结果输出数据集
1. 创建测试数据集。其中id对于IDVar,x对应XVar,创建10个id用户,每个用户100个随机值。
data temp;
do id=1 to 10;
do i=1 to 100;
x=abs(round(10*rannor(0)));
output;
end;
end;
drop i;
run;
2.计算每个id用户的x变量中的众数,并将结果输出到result数据集。
/*** Data Preparation for Data Mining Using SAS
by Mamdouh