[英]Get quantile by groups in SAS
我有這種表:
Cluster Age FR
8 70 153
...
我想要的是獲得一個表格:對於每個聚類和每個年齡,每個第10個分位數的FR的平均值。 它應該看起來像:
Cluster Age Quantile FR
1 1 10% 12
1 1 20% 14
1 1 30% 16
1 1 40% 18
1 1 50% 20
1 1 60% 22
1 1 70% 24
1 1 80% 26
1 1 90% 28
1 1 100% 30
1 2 10% 13
1 2 20% 15
1 2 30% 17
我嘗試用proc單變量做這個但沒有成功......
proc univariate data=etude.Presta_cluster_panier noprint;
var FR;
output out=pctls pctlpre=P_ pctlpts=0 to 100 by 10;
run;
這可以通過使用proc rank&proc手段分兩步完成。
proc rank data=etude.Presta_cluster_panier out=outranks groups=10;
var FR;
ranks Quantile;
by Cluster Age;
run;
proc means data=outranks;
var FR;
ways 3;
class Cluster Age Quantile;
output out=outmean;
run;
您需要首先按群集和年齡獲取四分位數。 然后重新合並主數據集,根據四分位數分配組,最后計算平均購買集群年齡和四分位數。
一步到位是不可能的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.