Graphics Programming

Data visualization using SAS programming, including ODS Graphics and SAS/GRAPH. Charts, plots, maps, and more!
BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
Bailey
Calcite | Level 5

I am looking for a nice way to represent information on a given study for my classroom.  I have two separate groups A and B and want to compare them (hoping that B is statistically significantly better than A).  How can I program this?  I am very new to this and not sure what to do!  I think a box an whisker plot would look nice, but also want the p-value shown on the top comparing the two.

A 2.7

A 0.0

A 3.1

A 4.6

B 6.2

B 5.2

B 3.5

B 3.6

B 5.9

Any help is appreciated!  Thank you Smiley Happy

1 ACCEPTED SOLUTION

Accepted Solutions
RandyCollica
SAS Employee

The SAS code below takes your data set and reads the A and B into a variable called GROUP and the measures into a variable called VALUE.  I then ran the TTEST procedure with plots=box.  The output shows the p-values in a table and the boxplot below if that is okay.  This is one of the easiest ways I could think of.  The SAS output is contained in the attached pdf file.  All the best - Randy

data work.compare;

length group $1;
input group value;
cards;

A 2.7

A 0.0

A 3.1

A 4.6

B 6.2

B 5.2

B 3.5

B 3.6

B 5.9

;
run;
ods graphics on;


proc ttest data=work.compare plots=box;
class group;

var value;
ods graphics off;

"All truths are easy to understand once they are discovered; the point is to discover them." G.G.

View solution in original post

5 REPLIES 5
ballardw
Super User

You will need to run a test that creates p-values. Depending on the version of SAS you are using then you can add that value to a graph using an annotate dataset with your graph procedure.

Also, is that your actual data or do you have more records? Tests for a small sample is displayed are going to much different than for a larger sample. Also when compare (test) are you looking at means or distribution or something else?

RandyCollica
SAS Employee

The SAS code below takes your data set and reads the A and B into a variable called GROUP and the measures into a variable called VALUE.  I then ran the TTEST procedure with plots=box.  The output shows the p-values in a table and the boxplot below if that is okay.  This is one of the easiest ways I could think of.  The SAS output is contained in the attached pdf file.  All the best - Randy

data work.compare;

length group $1;
input group value;
cards;

A 2.7

A 0.0

A 3.1

A 4.6

B 6.2

B 5.2

B 3.5

B 3.6

B 5.9

;
run;
ods graphics on;


proc ttest data=work.compare plots=box;
class group;

var value;
ods graphics off;

"All truths are easy to understand once they are discovered; the point is to discover them." G.G.
Bailey
Calcite | Level 5

Is there anyway on the box-plot that I could include all the data points?

Both your answer (RandyCollica) and (stat@sas) answers are exactly what I needed!!  Thank you Smiley Happy

stat_sas
Ammonite | Level 13

Check proc boxplot that allows to put stats on the box plot. I don't think it will allow to put all data points.

stat_sas
Ammonite | Level 13

Hi,

This can provide the boxplot with p value added on it.

ods graphics on;

ods select boxplot;

proc anova data=have;

class group;

model value=group;

quit;

ods graphics off;

sas-innovate-white.png

Our biggest data and AI event of the year.

Don’t miss the livestream kicking off May 7. It’s free. It’s easy. And it’s the best seat in the house.

Join us virtually with our complimentary SAS Innovate Digital Pass. Watch live or on-demand in multiple languages, with translations available to help you get the most out of every session.

 

Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

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
  • 5 replies
  • 8162 views
  • 3 likes
  • 4 in conversation