BookmarkSubscribeRSS Feed
jm1996
Calcite | Level 5

Hey!

I want to write a macro for ANOVAS that tests a number of dependent variables against one independent variable. My current version looks like this:

%MACRO anov(input_dataset= , independent_variable= , variable_list=, output_dataset= );
/* Check how man variables are in the list */ %LET M=%WORDS(&variable_list.); %DO i=1 %TO &M.; %LET var = %SCAN (&variable_list., &i.); PROC ANOVA DATA= &input_dataset.; CLASS &independent_variable.; MODEL &var. = &independent_variable.; MEANS &independent_variable.; ODS OUTPUT Summary=output1 (RENAME=(&var._Mean = Mean &var._STDDEV=STDDEV)); PROC MEANS DATA = &input_dataset. Mean STDDEV; VAR &var.; class &independent_variable.; RUN; ods output close; ODS OUTPUT means=anova modelAnova=model2; PROC ANOVA DATA= &input_dataset.; CLASS &independent_variable.; MODEL &var. = &independent_variable.; MEANS &independent_variable.; RUN; Quit; ods output close; %END; %MEND anov;

%anov (input_dataset=multiple_sclerosis,
independent_variable= ms_form,
variable_list=eq5d hp_general_health)

Unfortunately, I'm fairly new to SAS and struggling a bit here. The variable ms_form can be 1, 2 or 3. I want my output to have the name of the variable in the first column (so eq5d for the first 3, then hp_general_health) followed by the group means, and the standard derivation, the f-statistics, and the p-value. Anybody knows what exactly I should do?

Thanks in advance!

2 REPLIES 2
Reeza
Super User

Create a format and apply it to your source data. The format should flow through the rest of the program.

 

Here's a quick intro on creating formats

http://www2.sas.com/proceedings/sugi30/001-30.pdf

Reeza
Super User

And format and comment your code. It's barely legible as posted.

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

Register now

Develop Code with SAS Studio

Get started using SAS Studio to write, run and debug your SAS programs.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1667 views
  • 0 likes
  • 2 in conversation