关于数据描述统计的一些整理技巧
做完评级及评分就需要针对评级对客户进行统计,今天接介绍下统计的一些小技巧。
现假设有一评级后的数据集test,其格式如下:
现在要对每个产品的评级进行统计并计算出每个评级的反向累计占比,类似于下图的结果
代码如下:
options compress=yes;
options validvarname=any;
proc freq data = test noprint;
table 产品名称*评级 /out = pj_cp;
table 产品名称/ out = temp_cp;
run;
proc sort data = temp_cp;
by 产品名称;
proc sort data = pj_cp;
by 产品名称;
run;
data temp_cont2;
merge pj_cp(rename = count = 每个等级的数量) temp_cp(rename = count = 总数);
by 产品名称;
attrib _all_ label='';
等级占比 = 每个等级的数量/总数 ;
drop percent;
run;
/*累计占比*/
proc sort data = temp_cont2;
by 产品名称 descending rating;
run;
data temp_cont3;
set temp_cont2;
by 产品名称;
if first.产品名称 then do;
累计占比 =0;
retain 累计占比;
累计占比 = 累计占比+等级占比;
end;
else 累计占比 = 累计占比+等级占比;
等级占比1 = put(等级占比,percent8.2);
反向累计占比 = put(累计占比,percent8.2);
/*if 评级 = "07_C" then 拒件率 =compress(产品名称||":"||round(等级占比,0.01));*/
drop 等级占比 累计占比;
run;
proc sort data = temp_cont3;
by 产品名称 评级;
run;数据分析师培训
得出结果如下:
数据分析咨询请扫描二维码