如何在SAS中获得每个观察值的加权百分位数
我有这样的数据集:如何在SAS中获得每个观察值的加权百分位数,sas,Sas,我有这样的数据集: data providers; input prv_id mbr_cnt value; datalines; 1100 25860 3.9025 4700 71855 8.8566 5500 72147 6.9918 6400 25144 4.5200 7000 58114 9.3391 7900 67222 7.5189 8300 54039 8.9301 880
data providers;
input prv_id mbr_cnt value;
datalines;
1100 25860 3.9025
4700 71855 8.8566
5500 72147 6.9918
6400 25144 4.5200
7000 58114 9.3391
7900 67222 7.5189
8300 54039 8.9301
8800 2204 3.2221
9400 71600 9.9682
10000 68807 7.6581
10200 16322 8.6505
10700 115118 12.4198
11100 148235 18.2053
11700 56441 8.6987
12100 58556 7.6724
12500 81865 10.1048
12900 18106 3.7881
13400 98701 12.9679
13900 10347 3.7001
14400 45516 6.3924
;
run;
我需要计算通过
mbr\u cnt
加权的每个观察值的百分位数。有没有办法在SAS中实现这一点?我尝试使用proc-rank-data=providers-groups=100 out=providers\u百分位数代码>但这只是给了我未加权的百分比。PROC FREQ有一个权重选项,可以计算加权的累积百分比
proc freq data=providers;
ods output list=freqout;
weight mbr_cnt;
tables value * prv_id / list missing;
run;
不确定这是否正是您需要的。Reeza,您发送的链接解释了如何计算人口的百分位数。我想知道的是,例如,提供者1100所在的百分比,提供者5500所在的百分比,等等。我想创建一个新变量,显示每个观察值的百分位数,通过mbr_cnt加权。上面的链接不能做到这一点。那么,我建议改为通过数据步骤进行蛮力手动计算。或使用CDF图进行单变量预测。