Hi SAS community!
Regarding getting some standard statistics number, I usually proc sort then using proc means to do so.
My data is as below (I also attached a datafile contains one sample of my whole dataset). While Type indicates the companies, Country is 2-digit of country. My column of interest is amihud. The dataset included contains data from a lot of different countries. What I want is to receive some data statistics summary for each country containing: median, mean, p1, p5, p90, p95, p99 of variable amihud (especially it is good if the code relates to proc means)
Many thanks in advance!
Type	year	amihud	Country
772086	1989	.	AR
982616	1989	.	AR
982620	1989	.	AR
982629	1989	.	AR
982694	1989	.	AR
992128	1989	.	AR
992156	1989	.	AR
992183	1989	.	AR
992260	1989	.	AR
992280	1989	.	AR
772086	1990	.	AR
982616	1990	.	AR
982620	1990	.	AR
982629	1990	.	AR
982694	1990	.	AR
992128	1990	.	AR
992156	1990	.	AR
992183	1990	.	AR
992260	1990	.	AR
992280	1990	.	AR
772086	1991	.	ARYou show an example where AMIHUD is always missing. I assume that's not always the case. So this ought to work (but I can't test it).
proc summary nway data=have;
     class country;
     var amihud;
     output out=_stats_ mean=/autoname;
run;
Where @PaigeMiller has the Mean= you would place ALL of your desired statistics:
median= mean= p1= p5= p90= p95= p99= /autoname ;
The autoname will append the statistic name to the variable so you can tell which stat is which in the data set.
You may want the option NWAY on the proc statement or you will get a summary overall across all countries as well.
Good catch, @ballardw
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.
