BookmarkSubscribeRSS Feed
SasStudent2
Fluorite | Level 6

Hello,

I have the data and need to do this exact table

 

Table 1.0

(Demo Graphics & Base Line Characteristics)

 

 

Active (N= XX)

Placebo (N= XX)

Overall (N= XX)

Age (years)

 

 

 

N

XX

XX

XX

Mean

XX.X

XX.X

XX.X

Standard Deviation

     XX.XX

XX.XX

XX.XX

Minimum

XX.X

XX.X

XX.X

Maximum

XX.X

XX.X

XX.X

Gender

 

 

 

Male

XX(XX.X%)

XX(XX.X%)

XX(XX.X%)

Female

XX(XX.X%)

XX(XX.X%)

XX(XX.X%)

Race

 

 

 

White

XX(XX.X%)

XX(XX.X%)

XX(XX.X%)

Black

XX(XX.X%)

XX(XX.X%)

XX(XX.X%)

Other*

XX(XX.X%)

XX(XX.X%)

XX(XX.X%)

 

 

* Other includes Asian, Native American, and other races.

*To create frequencies, percentages use proc freq

* To create n, mean, median, min, max, standard deviation use proc univariate.

 

 

 

 

I'm not sure if this is the correct way of doing it but I keep getting errors. I am so lost at this. all help is appreciated. Thank you in advance.

 

 

data DEMOG;
	set TMP1.DEMOG;

	if trt=0 then
		do;
			output;
			trt=2;
			output;
		end;

	if trt=1 then
		do;
			output;
			trt=2;
			output;
		end;
run;

/*stats for age group*/
proc univariate data=demog noprint;
	CLASS TRT;
	var age;
	Output out=AGEDS n=_n mean=_mean std=_std min=_min max=_max;
run;

proc sort ;
	by trt;
run;

proc transpose data=AGEDS out=tranage;
	by trt;
	VAR _n _mean _std _max _min;
run;

data tranage;
	set tranage;
	INDEX=1;
	col=trim(left(col1));
run;

/*stats for gender*/
proc freq data=demog;
	tables gender*TrT/ out=adslgenfrq Norow nocol missing;

	/*stats for gender*/
	tables race*TRT/ out=adslracefrq Norow nocol missing;

	/*stats for race*/
run;

data genfrq;
	set adslgenfrq;
	where gender ne .;
	cntper=count || "("||trim(left(percent))||"%)";

	if gender=1 then
		_name_='M';
	else
		_name_='F';
	INDEX=2;
	rename cntper=col;
	drop count percent gender;
run;

/*STATS FOR RACE*/
data racefrq;
	set adslracefrq;
	cntper=count || "("||trim(left(percent))||"%)";

	if race=1 then
		_name_='White';
	else if race=2 then
		_name_='Black';
	else
		_name_='Other';
	INDEX=3;
	drop count percent race;
	rename cntper=col;
run;

data all;
	set tranage genfrq racefrq;
run;

proc sort ;
	by _name_;
run;

proc transpose data=all out=tranall;
	var col;
	BY _NAME_;
	ID TRT;
RUN;

** Titles and Footnotes;
%titlfoot(title1, , Table 1);
%titlfoot(title2, , DEMOGRAPHICS & BASE LINE CHARACTERISTICS);
%titlfoot(footnote1);
%titlfoot(footnote2, *Other includes Asian, Native American, and other Races.));
%titlfoot(footnote3, *To create frequencies, percentages use proc freq);
%titlfoot(footnote4, *To create n, mean, medium, min, max, standard deviation 
	use proc univariate);
** Generate Report;

proc printto print="c:\Base.txt" new;
run;

proc report data=tranall nowindows headline split='|';
	columns sectno statcode statname v0 v1 v2);
	define sectno /group noprint;
	define statcode /group noprint;
	define statname /group ' ';
	define v0 /display 'Active' width=10;
	define v1 /display 'Placebo' width=10;
	define v2 /display 'Overall' width=10;
	compute before sectno;
		line ' ';
		line @8 sectno sectno.;
	endcomp;
	quit;
run;

proc printto ;
run;

 

 

 

6 REPLIES 6
Reeza
Super User
I formatted your code to make it easier to read. You can do this via SAS Studio or EG (CTRL+I). Cynthia Zender is the best resource for PROC REPORT and her paper here goes over the steps required. http://www2.sas.com/proceedings/forum2008/173-2008.pdf
ballardw
Super User

@SasStudent2 wrote:

I'm not sure if this is the correct way of doing it but I keep getting errors. I am so lost at this. all help is appreciated. Thank you in advance.

  


What errors? We can't help with what we don't know. Copy the code from the log with data or proc step and any messages and paste them into a code box opened using the forum's {I} menu icon. The code box will preserve the formatting of the errors better than the main message windows here.

 

And provide some example data in the form of a data step.

 

 

Cynthia_sas
SAS Super FREQ
Hi:
For the type of demographic report you are asking about, there are numerous examples in user group papers and previously posted on this web site. Look here http://www2.sas.com/proceedings/forum2008/173-2008.pdf at examples 1 and 8. There are 2 examples for #1, done with PROC REPORT and 1 example for 8 done with Table Templates and DATA _NULL_. You will find the zip file of programs here: http://support.sas.com/rnd/papers/#SGF2008 -- just scroll down until you find the title -- there's a link to download the zip.

I am guessing you are getting some messages because of the combination of group and display for your variables. Typically, grouping can't be done if the other variables on the report are character variables. Usually, you need to have some kind of dummy variable that is numeric to allow grouping to take place. But that is just a guess, without data and without your full program (such as ODS statements), it's hard to guess what your errors might be.

Also, minor issue, won't cause errors, but won't get you what you want either -- some of the options you specify are LISTING only options -- headline, width and @8 will not be used by ODS destinations. As I said, no errors, but not what you probably want, either.

Cynthia
SasStudent2
Fluorite | Level 6
THANK YOU VERY MUCH, It's appreciated.
Vince_SAS
Rhodochrosite | Level 12

Another example is the paper that John King and I worked on this  year:

 

Manipulating Statistical and Other Procedure Output to Get the Results That You Need

http://support.sas.com/papers/delgobbo-ods2018

 

Vince DelGobbo

SAS R&D

SasStudent2
Fluorite | Level 6
Thank you, I figured it out. sorry I forgot the errors.

sas-innovate-2024.png

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.

 

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.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 6 replies
  • 920 views
  • 0 likes
  • 5 in conversation