BookmarkSubscribeRSS Feed
ly2105
Fluorite | Level 6

Hi, 

 

I want to obtain a numerical value for the 99th percentile to use later in a data step. I think it can be done in a number of ways, but ulitmately I am winsorizing my cohort. I.e., for anyone with costs greater than the 99th percentile, set their cost equal to the 99th percentile value.

 

This is what i have so far:  

 

proc univariate data = mydata;
where age_18 = 1;
class &var1;
var cost;
run;

   /* --> I want out output the 1st and 99th percentile values. Where do I "output" this value? I dont necessarily need a whole data set, just 1 number.*/ 

 

data mydata2; 

set mydata; 

 

if cost > {99th percentile value} then cost_2 = {99th percentile value}; 

if cost < {1st percentile value} then cost_2 = {1st percentile value; 

run; 

2 REPLIES 2
Cynthia_sas
SAS Super FREQ
Hi:
The SAS Documentation for PROC UNIVARIATE seems to have a relevant example on how to save percentiles into an output dataset:
http://support.sas.com/documentation/cdl/en/procstat/67528/HTML/default/viewer.htm#procstat_univaria...

And then, once you have the percentiles in an output dataset, you could make macro variables that can be used in subsequent steps.

cynthia
Rick_SAS
SAS Super FREQ

As Cynthia says, use the OUTPUT statement and specify the P1= and P99= keywords:

proc univariate data=sashelp.cars noprint;
class origin;
var MPG_City;
output out=PctlOut P1=P1 P99=P99;
run;

proc print; run;

You could also use PROC MEANS with the same syntax.

 

If you have multiple variables, see the article "Output percentiles of multiple variables in a tabular format."

sas-innovate-wordmark-2025-midnight.png

Register Today!

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


Register now!

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 5715 views
  • 2 likes
  • 3 in conversation