RA plot

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The Ratio Average [RA] plot is an integer based version of an MA plot for visualizing two-condition count data. Its distinctive arrow-like shape derives from the way it includes condition-unique (0,n) or (n,0) points into the plot via an epsilon factor.


An RA plot, like its cousin, the MA plot, is a re-scaled and (45 degree) rotated version of a simple two dimensional scatter plot of a vs b where a and b are equal length vectors of positive measurements. This rescaling and rotation allows for better visibility and emphasis of important outliers points that vary between the two measurement conditions.[1] Essentially it is a plot of the log ratio [R] vs the average log [A] of each pairing of the elements of a and b. Unlike an MA plot, however, because the RA plot takes non-negative integer counts as input, it must employ work-arounds to include mathematically invisible points (such as points where one or both element(s) of the pair is zero).

If we modify our original a (or b) vector via:


then R and A can be defined as:


R, like M, is plotted on the y-axis and represents a log (fold change) ratio between a and b. A is plotted on the x-axis and represents the average abundance for a coordinate pair. The RA plot provides a quick overview of the distribution and size of a dataset consisting of non-zero counts.


The acronym prefix "R.A." is sometimes pronounced as the one syllable word "ray" because of the plot's strong resemblance to a geometric ray. This characteristic arrow-like shape derives from two key features: on the right at the vector origin, a long asymptotic tail, and on the left (forming the arrow head) two (often dense) patches of condition-unique points.

Work-Arounds for point visibility and inclusion[edit]

Condition unique points[edit]

Because a large portion of the pairs of a and b contain zeros in one or both conditions, they are impossible to plot as-is on a log scale. Other MA plotting functions artificially include these condition-unique points in the plot by spreading them vertically as a "smear" on the left or horizontally as a "rug" at the very top and bottom of the plot. In an RA plot, by contrast, the uniques are included via addition a small epsilon factor (between .1 and .5) which places them in a more statistically appropriate location in the plot.

MA plot with uniques as a "smear"
MA plot with condition-unique and zero points as a "smear" (via the edgeR Bioconductor package)
RA plot with the condition-unique points added
RA plot with condition-unique and zero points as diagonal "arms" giving it a distinct ray-like shape
Two different ways of artificially adding condition-unique points into an MA-style plot.


Another problem with plotting this (or any) type of count data is overplotting which is solved in the RA plot by jittering the points out away from each other but no so far as to merge with other coordinates. The result of this feature is a patchwork-like appearance to the plot that fades away as the A increases.

An RA Plot
An RA Plot: many points have identical coordinates and are hidden from each other
A jittered RA Plot
A jittered RA Plot: contiguous patches have identical original coordinates
raPlot in the caroline package


The caroline CRAN R package contains the only known implementation of an RA plot. However, the meta-transcriptomics "manta" R package provides a wrapper around this RA plot implementation and is used for assessing fold change in transcription of genes (the points) while simultaneously visualizing each gene's taxonomic distributions as individual pie chart points.[2]


a <- rnbinom(n=10000, mu=5, size=2)
b <- rnbinom(n=10000, mu=5, size=2)

raPlot(a, b)


  1. ^ Dudoit, S, Yang, YH, Callow, MJ, Speed, TP. (2002). Statistical methods for identifying differentially expressed genes in replicated cDNA microarray experiments. Stat. Sin. 12:1 111-139
  2. ^ Schruth,D. & Marchetti,A. (2011). Microbial Assemblage Normalized Transcript Analysis. R package version 0.9.5.

See also[edit]