Construct mean-variance plots, separately for each column of the input data, and separately for each level of any input factor that is given (via a formula). This function was specially written for high dimensional data where there are many correlated variables exhibiting a mean-variance structure, in particular, multivariate abundance data in ecology.

1 2 3 4 5 6 7 8 9 10 |

`x` |
an mvabund objects or a Model Formula (can be a formula or a mvformula) to be used. |

`n.vars` |
the number of variables to include in the plot. |

`var.subset` |
vector of indices indicating the variables to be included on the plot, (default: the |

`subset` |
an optional vector specifying a subset of observations to be used. |

`table` |
logical, whether a table of the Means and Variances should be returned |

`overall.main` |
an overall title for the window. |

`overlay` |
logical, whether overall means/variances for all variables are calculated and drawn on a single plot or calculated and plotted separately for different variables. |

`...` |
arguments to be passed to or from other methods. |

`meanvar.plot`

calculates a mean-variance plot for a dataset with many variables (e.g., Warton D. I., Wright S., and Wang, Y. (2012)).

The mean values and variances are calculated across all observations, unless a formula is given as the first argument which specifies a factor as the dependent variable. In this latter case the means and variances are calculated separately within the groups defined by these factors.

By default the means and variances of all variables (and all factor levels) are displayed on the same plot. If a formula is given and the explanatory variables contain factor variables, the mean values and variances for each factor level can be calculated and displayed either for all variables together or for each variable separately.

For the latter, set `overlay`

to `FALSE`

. The mean-variances corresponding to the different factors will be drawn in different colors, that can be chosen by specifying `col`

. `col`

can then either be a single color value (see `par`

) with the number of values being at least the maximum number of levels of the factors. The same applies to `pch`

.

If `mfrow`

is `NULL`

and `mfcol`

is `NULL`

, par("mfrow") is used. If `all.labels = FALSE`

, only the x-axis labels at the bottom plot and the y-axis labels of plots on the right side of the window are printed if furthermore `main=NULL`

only the graphics on the top contain the full title, the other ones an abreviated one.

Note, that if a log-transformation is used for displaying the data, a specific mean-variance relation will not be visible in the plot, if either the calculated mean is zero and `log!="x"`

or `log!="xy"`

or if the calculated variance
is zero and `log!="y"`

or `log!="xy"`

.

By default the y/x ratio of the axis, specified by `asp`

, will be set to `1`

if `log!="xy"`

. If the mean-variance relation is not displayed on a log scale and `overlay`

is `FALSE`

, it is most often not advisable to specify `asp`

, as there might not be one choice of `asp`

that is sensible for each of the plots.

If `table`

is `TRUE`

a table of the Means and Variances is returned.
Otherwise, only the plot(s) is/are drawn.

Ulrike Naumann, Stephen Wright and David Warton <David.Warton@unsw.edu.au>.

Warton D. I., Wright S., and Wang, Y. (2012). Distance-based multivariate analyses confound location and dispersion effects. *Methods in Ecology and Evolution*, 3(1), 89-101.

Warton D.I. (2008). Raw data graphing: an informative but under-utilized tool for the analysis of multivariate abundances. *Austral Ecology* 33(3), 290-300.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | ```
require(graphics)
## Load the tikus dataset:
data(tikus)
tikusdat <- mvabund(tikus$abund)
year <- tikus$x[,1]
## Plot mean-variance plot for a mvabund object with a log scale (default):
meanvar.plot(tikusdat)
## Again but without log-transformation of axes:
meanvar.plot(tikusdat,log="")
## A mean-variance plot, data organised by year,
## for 1981 and 1983 only, as in Figure 7a of Warton (2008):
is81or83 <- year==81 | year==83
meanvar.plot(tikusdat~year, subset=is81or83, col=c(1,10))
``` |

Questions? Problems? Suggestions? Tweet to @rdrrHQ or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.