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;
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.