meanSdPlot {vsn} | R Documentation

## Plot row standard deviations versus row means

### Description

Methods for objects of classes `matrix`, `ExpressionSet` and `vsn` to plot row standard deviations versus row means.

### Usage

    meanSdPlot(x,
               ranks = TRUE,
               xlab  = ifelse(ranks, "rank(mean)", "mean"),
               ylab  = "sd",
               pch   = ".",
               plot  = TRUE,
               ...)

### Arguments

`x` | An object of class `matrix`, `ExpressionSet`, or `vsn`.
`ranks` | Logical, indicating whether the x-axis (means) should be plotted on the original scale (`FALSE`) or on the rank scale (`TRUE`). The latter distributes the data more evenly along the x-axis and allows a better visual assessment of the standard deviation as a function of the mean.
`xlab` | Character, label for the x-axis.
`ylab` | Character, label for the y-axis.
`pch` | Plot symbol.
`plot` | Logical. If `TRUE` (default), a plot is produced. Calling the function with `plot=FALSE` can be useful if only its return value is of interest.
`...` | Further arguments that get passed to plot.default.

### Details

Standard deviation and mean are calculated row-wise from the expression matrix (in) `x`. The scatterplot of these versus each other allows to visually verify whether there is a dependence of the standard deviation (or variance) on the mean. The red dots depict the running median estimator (window-width 10%). If there is no variance-mean dependence, then the line formed by the red dots should be approximately horizontal.

### Value

A named list with four components: its elements `px` and `py` are the x- and y-coordinates of the individual data points in the plot; its first and second element are the x-coordinates and values of the running median estimator (the red dots in the plot). Depending on the value of `plot`, the method can also have a side effect, which is to create a plot on the active graphics device.

### Author(s)

Wolfgang Huber http://www.ebi.ac.uk/huber

### See Also

`vsn`

### Examples

      data(kidney)
      log.na = function(x) log(ifelse(x>0, x, NA))

      exprs(kidney) = log.na(exprs(kidney))
      meanSdPlot(kidney)

      ## ...try this out with non-logged data, the lymphoma data, your data...

[Package vsn version 3.12.0 Index]