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