Skip to content
Bob Pruzek and Jim Helmreich's implementation of Elemental Graphics for Analysis of Variance
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
demo Make anorexia, anorexia.sub, and shoes datasets local to the package Nov 18, 2015



You're at the development home for the Graphical Analysis of Variance using ggplot2 (granovaGG) package for R! Click here for instructions on installing granovaGG.

How can I install the development version of granovaGG on my system?

This one's easy. Just see our lovely installation instructions.

What does this package do?

The package granovaGG is designed to produce statistical graphics driven by the fundamental questions of analysis of variance. The graphics granovaGG creates can offer far more visual information than a traditional tabular model summary or significance test. For an example of how granovaGG can enhance analysis, see Pruzek and Helmreich (2009).

Isn't there already a granova package on CRAN?


So what's the difference between granova and granovaGG?

There are several, actually.

First, the current version of granova on CRAN uses R's base graphics to produce plots. granovaGG, on the other hand, uses an R package called ggplot2, which offers a much greater degree of expressiveness and extensibility.

Second, 3-D functionality for creating an elemental graphic for 2-way ANOVA is only in granova; granovaGG doesn't have it.

In short, granovaGG offers ggplot2-based versions of three of the four core functions in granova:

  • granova.1w
  • granova.contr
  • granova.ds

Do I have to choose between granova and granovaGG?

Absolutely not. You can have your granova cake with granovaGG icing!

The packages are currently designed to work side-by-side, which means you can load them both and get the most out of their respective strengths.

And, if you already have legacy granova code but would like to use the new ggplot2-based functions in granovaGG, the transition is easy: just add two letters to your function call.

So, suppose you have some code that uses three classic functions:

granova.contr(arousal, contrasts = contrasts22)
granova.1w(poison$SurvTime, group = poison$Group, ylab = "Survival Time")

You can pipe the same code through granovaGG adding a "gg" after the "granova" part of the function call:

granovagg.contr(arousal, contrasts = contrasts22)
granovagg.1w(poison$SurvTime, group = poison$Group, ylab = "Survival Time")

Can I see what some sample graphics look like?

Absolutely. To see examples of granovaGG output, check out:

  1. A presentation Brian Danielak gave at the DC UseR group in February, 2011.
  2. A presentation on some of the latest updates to granovagg.1w and granovagg.contr
  3. A blog post by William E. J. Doane describing the Dependent Sample plots.

How can I provide feedback?

You can’t perform that action at this time.