Hi,
I want to calculate odds ratios, confidence intervals, and overall p-value given this data set and not sure how to do it in SAS.
DATA RACE_TEST;
INPUT RACE $ CMV_STATUS $ COUNT;
DATALINES;
Black CMV 10
Black NO CMV 16
White CMV 41
White NO_CMV 33
Asian CMV 20
Asian NO_CMV 5
Other CMV 16
Other NO_CMV 23
;
I would like the output to have an odds ratio (95% CI) for each race category, using white as the reference & 1 overall P-value to see if the race has no effect on CMV status. Is there a way to do all this in 1 statement?
Thank you!
Yes, if you can be lenient on how you define one line.
DATA RACE_TEST; INPUT RACE $ CMV_STATUS $ COUNT; DATALINES; Black CMV 10 Black NO_CMV 16 White CMV 41 White NO_CMV 33 Asian CMV 20 Asian NO_CMV 5 Other CMV 16 Other NO_CMV 23 ; %macro doit (race); %let i=1; %do %while (%scan(&race,&i.) ne); proc freq data=RACE_TEST (where=(race in ("%scan(&race,&i.)",'White'))) order=data; weight count; tables RACE*CMV_STATUS/ chisq cmh; run; %let i=%eval(&i+1); %end; %mend doit; %doit(Black Asian Other)
Art, CEO, AnalystFinder.com
Another approach, using GENMOD, that produces the same results as the solution offered by @art297 (thanks to Art for correcting the dataset):
DATA RACE_TEST; INPUT RACE $ CMV_STATUS $ COUNT; DATALINES; Black CMV 10 Black NO_CMV 16 White CMV 41 White NO_CMV 33 Asian CMV 20 Asian NO_CMV 5 Other CMV 16 Other NO_CMV 23 ; proc freq data=race_test; table race*cmv_status / chisq; weight count; run; proc genmod data=race_test; class race cmv_status; model cmv_status = race / dist=bin type3; freq count; lsmeans race / ilink cl oddsratio; run;
The FREQ procedure is not critical to the process, but it does provide some nice estimates, easy test of interaction of race and cmv_status (i.e., whether race and cmv_status are independent; here, they are not), and an overall test of race, all of which you can either find or extract from GENMOD. FREQ of course is limited to categorical variables, whereas GENMOD can also do continuous predictors.
Still not one line 🙂
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.
ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.
Find more tutorials on the SAS Users YouTube channel.