12-26-2017 04:41 AM - edited 12-26-2017 04:44 AM
I created the table in the attached file using this program:
proc tabulate data=sashelp.cars out=want missing ; class DriveTrain Origin Type ; var Horsepower; table Horsepower='Horsepower'*(n='n' mean='Mean' std='Standard Deviation' min='Min' max='Max') DriveTrain='train' * (n='n' colpctn='%') Origin='origin' * (n='n' colpctn='%'),(Type=" ") (all='Overall'); run;
what I want is producing a sas table named 'want' and showing exactly what in the image in the attached file(same rows and same columns) .
PS: I can use proc freq many times by subsetting every time and then merging all output tables but I'm searching for a method which is easier and in some lines.
Any suggestion plz ?
01-02-2018 10:18 AM
I can't see your RTF file so I don't know exactly what you are producing, but when you say you want to produce a SAS table what exactly do you mean? Do you mean you want to create a dataset out of the output of your proc tabulate procedure?
01-02-2018 04:56 PM
As you created a data set want with that code then I have to assume that you need to modify that resulting data set to another format.
The are going to be issues that include transposing data to get variables to have names/label of the column headers that are currently in the variable named Type. You would also have to create single variable to hold the name of the statistic.
You might find it easer to use three proc tabulate statements and create the horsepower, train and origin summaries separately and modify each before appending. Note that if you want a line with "train" or "origin" with no actual values you would have to add them manually. Or at least different TABLE statements to select by table.
Some sorts of data sets aren't "easy" to make because they really don't make much sense. Have a single data set where one variable contains counts, a mean, a standard deviation, a max, a min and percentages is a problem waiting to happen when the set is used incorrectly. Errors involved with other manipulations, which would be the reason for a data set, are going to be extremely complex.