Help using Base SAS procedures

Proc Anova ods output

Accepted Solution Solved
Reply
Contributor
Posts: 53
Accepted Solution

Proc Anova ods output

[ Edited ]

Hello all,  Thanks in advance for the help here

 

I have this proc anova code that appears to be working properly(validations still to come).  But I need to output the p-values from this to a table based on the by groups.  The ods output system still confuses me and I have been unsuccessful getting what I need.  How do i get that output?

 

 

proc anova data=tmp_seasonal_raw(where=(testType='Anova'));
	class month;
	model total_qty=month;
	by customer gd apg1;
	MEANS month / HOVTEST=BARTLETT;

run;

 


Accepted Solutions
Solution
‎01-12-2016 12:25 PM
Trusted Advisor
Posts: 1,117

Re: Proc Anova ods output

Or more explicitly: Precede your PROC ANOVA step by 

ods output OverallANOVA=oa;
ods output ModelANOVA=ma;
ods output Bartlett=ba;

and you will find the p-values (together with more information) in datasets OA, MA and BA (or whatever you name them).

View solution in original post


All Replies
Occasional Contributor
Posts: 10

Re: Proc Anova ods output

Hi,

 

Here is an example for the use of ODS-output:

 

data test;

format id $10.;

input id X;

datalines;

Test1 10

Test2 20

;

ods output summary=means_summary;

proc means data=test;

by id;

run;

 

this creates a table (called "means_summary") in you work-lib with the data of the proc-means summary table. Through this way you can write any output created to a table. The trick is to know the correct name of the output table...

 

To see which table you could use to obtain your p-values check:

http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_anova_sect02...

Super User
Posts: 19,772

Re: Proc Anova ods output

1. Use ods trace to find the table names. (ODS TRACE ON; ODS TRACE OFFSmiley Wink

2. Check the log to Find the table name of interest, I didn't figure that out you can replace the pvalues below with the actual table name.

3. Add code to capture said table using ods table or ods output.

 

ODS TRACE ON;
proc
anova data=tmp_seasonal_raw(where=(testType='Anova')); class month; model total_qty=month; by customer gd apg1; MEANS month / HOVTEST=BARTLETT; ods table pvalues=my_output_table; run;
ODS TRACE OFF;

proc print data=my_output_table;
run;

 

Solution
‎01-12-2016 12:25 PM
Trusted Advisor
Posts: 1,117

Re: Proc Anova ods output

Or more explicitly: Precede your PROC ANOVA step by 

ods output OverallANOVA=oa;
ods output ModelANOVA=ma;
ods output Bartlett=ba;

and you will find the p-values (together with more information) in datasets OA, MA and BA (or whatever you name them).

☑ This topic is solved.

Need further help from the community? Please ask a new question.

Discussion stats
  • 3 replies
  • 575 views
  • 2 likes
  • 4 in conversation