Hi,
I have 3 variables (a,b,c) for which I want to do calulate n, mean and median and then output the result.
Here is the code and the "want" output:
proc means data=have n mean median ;
var a b c ;
output out = want ;
run;
type | freq | statistic | a | b | c |
n | |||||
min | |||||
max | |||||
mean | |||||
std |
Since I want the n, mean and media I do the following adjustment:
proc means data=have n mean median ;
var a b c ;
output out = want n=n mean=mean median=median ;
run;
But here the "want" output table is of the following form:
type | freq | n | mean | median |
here the n, mean and median become columns and I get only 1 row corresponding to variable a, statistics for variables b and c simply don't show.
So is it possible to have the original form of output but for the chosen statistics, so that the "want" output table looks like this:
type | freq | statistic | a | b | c |
n | |||||
mean | |||||
median |
Thank you!
3) proc univariate data=have outtable=want noprint; var a b c; run;
Try the ODS table and Google STACKODS option.
Switching to PROC TABULATE will make a lot of this easy:
proc tabulate data=have;
var a b c;
tables n mean median, a b c;
run;
See if it comes close enough. You might want to add NMISS to the list of statistics, since you are no longer getting _FREQ_. It's not clear why you would want _TYPE_ at all, so that part is not included.
3) proc univariate data=have outtable=want noprint; var a b c; run;
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
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.