SAS-计算人口的最高百分比

SAS-计算人口的最高百分比,sas,statistics,percentage,proc-sql,Sas,Statistics,Percentage,Proc Sql,我试图寻求一些验证,这对大多数人来说可能微不足道,但我绝不是统计专家。我试图根据每个药物和地点的得分,选择前1%的患者。数据看起来像这样(在更大的范围内): 我为计算排名前1%的患者而编写的代码snipit如下: proc-sql create table example as select *, score/avg(score) as test_measure from prior_table group by drug, place having test_measure>.99;

我试图寻求一些验证,这对大多数人来说可能微不足道,但我绝不是统计专家。我试图根据每个药物和地点的得分,选择前1%的患者。数据看起来像这样(在更大的范围内):

我为计算排名前1%的患者而编写的代码snipit如下: proc-sql

create table example as 
select *,
score/avg(score) as test_measure
from prior_table
group by drug, place
having test_measure>.99;
quit;
这是否实现了我想要做的事情,或者说这一切都错了?抱歉,如果这对大多数人来说都是微不足道的。
谢谢

计算和估计百分位有多种方法。一种简单的方法是使用
PROC SUMMARY

proc summary data=have;
var score;
output out=pct p99=p99;
run;
这将创建一个名为
pct
的数据集,其变量
p99
包含第99个百分位

然后筛选表中的值
>=p99

proc sql noprint;
create table want as
select a.*
    from have as a
    where a.score >= (select p99 from pct);
quit;

谢谢你,在每个位置和药物中获得第99个百分位数,我只想添加一个“班级地点药物”声明,对吗?对。显然,您需要修改查询。
proc sql noprint;
create table want as
select a.*
    from have as a
    where a.score >= (select p99 from pct);
quit;