如何计算SAS中的百分位

时间:2016-03-24 16:27:06

标签: sas dataset percentile

我想计算分布的第95个百分位数。我想我不能使用proc means因为我需要值,而proc means的输出是一个表。我必须使用百分位数来过滤数据集并创建另一个数据集,其中只有观察值大于百分位数。 显然,我不想使用数值。因为我想在macro中使用它。

2 个答案:

答案 0 :(得分:3)

不要将摘要统计信息放入宏变量中。您可能会失去精确度。 这是基于你对问题的神秘描述。

proc means...
   output out=pct95 pct95=
   run;
data subset;
   if _n_ eq 1 then set pct95;
   set data;
   if value < pct95;
   run;

答案 1 :(得分:1)

您可以使用 noprint 选项禁止proc表示在新标签页中输出结果。试试这个:

proc means data = your_data noprint;
    var variable_name;
    output out = your_data2 p95= / autoname;
run;