Sql 在SAS中按组获取分位数
我有这样的桌子:Sql 在SAS中按组获取分位数,sql,sas,Sql,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
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 MEANCE分两步完成
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;