Description Usage Arguments Details Value Warning Author(s) References See Also Examples

Display relevance associations network for (regularized) canonical correlation analysis
and (sparse) PLS regression. The function avoids the intensive computation of Pearson correlation matrices on large data set by calculating instead a pair-wise similarity matrix directly obtained from the latent components of our integrative approaches (CCA, PLS, block.pls methods). The similarity value between a pair of variables is obtained by calculating the sum of the correlations between the original variables and each of the latent components of the model. The values in the similarity matrix can be seen as a robust approximation of the Pearson correlation (see González et al. 2012 for a mathematical demonstration and exact formula). The advantage of relevance networks is their ability to simultaneously represent positive and negative correlations, which are missed by methods based on Euclidean distances or mutual information. Those networks are bipartite and thus only a link between two variables of different types can be represented. The network can be saved in a .glm format using the `igraph`

package, the function `write.graph`

and extracting the output `object$gR`

, see details.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | ```
network(mat,
comp = NULL,
blocks = c(1,2),
cutoff = NULL,
row.names = TRUE,
col.names = TRUE,
block.var.names = TRUE,
color.node = NULL,
shape.node = NULL,
cex.node.name = 1,
color.edge = color.GreenRed(100),
lty.edge = "solid",
lwd.edge = 1,
show.edge.labels = FALSE,
cex.edge.label = 1,
show.color.key = TRUE,
symkey = TRUE,
keysize = c(1, 1),
keysize.label = 1,
breaks,
interactive = FALSE,
layout.fun = NULL,
save = NULL,
name.save = NULL)
``` |

`mat` |
numeric matrix of values to be represented. |

`comp` |
atomic or vector of positive integers. The components to adequately account
for the data association. Defaults to |

`cutoff` |
numeric value between |

`row.names, col.names` |
character vector containing the names of |

`color.node` |
vector of length two, the colors of the |

`shape.node` |
character vector of length two, the shape of the |

`color.edge` |
vector of colors or character string specifying the colors function to using
to color the edges, set to default to |

`lty.edge` |
character vector of length two, the line type for the edges (see Details). |

`lwd.edge` |
vector of length two, the line width of the edges (see Details). |

`show.edge.labels` |
logical. If |

`show.color.key` |
boolean. If |

`symkey` |
boolean indicating whether the color key should be made symmetric about 0.
Defaults to |

`keysize` |
numeric value indicating the size of the color key. |

`keysize.label` |
vector of length 1, indicating the size of the labels and title of the color key. |

`breaks` |
(optional) either a numeric vector indicating the splitting points for
binning |

`interactive` |
logical. If |

`save` |
should the plot be saved ? If so, argument to be set either to |

`name.save` |
character string giving the name of the saved file. |

`cex.edge.label` |
the font size for the edge labels. |

`cex.node.name` |
the font size for the node labels. |

`blocks` |
a vector indicating the block variables to display. |

`block.var.names` |
either a list of vector components for variable names in each block or FALSE for no names. If TRUE, the columns names of the blocks are used as names. |

`layout.fun` |
a function. It specifies how the vertices will be placed on the graph. See help(layout) in the igraph package. Defaults to layout.fruchterman.reingold. |

`network`

allows to infer large-scale association networks
between the *X* and *Y* datasets in `rcc`

or `spls`

. The output is a graph where
each *X*- and *Y*-variable corresponds to a node and the edges
included in the graph portray associations between them.

In `rcc`

, to identify *X*-*Y* pairs showing relevant associations, `network`

calculate a
similarity measure between *X* and *Y* variables in a pair-wise manner: the
scalar product value between every pairs of vectors in dimension `length(comp)`

representing
the variables *X* and *Y* on the axis defined by *Z_i* with *i* in `comp`

,
where *Z_i* is the equiangular vector between the *i*-th *X* and *Y* canonical variate.

In `spls`

, if `object$mode`

is `regression`

, the similarity measure between *X* and
*Y* variables is given by the scalar product value between every pairs of vectors in dimension
`length(comp)`

representing the variables *X* and *Y* on the axis defined by *U_i* with
*i* in `comp`

, where *U_i* is the *i*-th *X* variate. If `object$mode`

is
`canonical`

then *X* and *Y* are represented on the axis defined by *U_i* and *V_i*
respectively.

Variable pairs with a high similarity measure (in absolute value) are considered as relevant. By changing the cutoff, one can tune the relevance of the associations to include or exclude relationships in the network.

`interactive=TRUE`

open two device, one for association network, one for scrollbar,
and define an interactive process: by clicking either at each end
('*-*' or '*+*') of the scrollbar or
at middle portion of this. The position of the slider indicate which is the ‘cutoff’ value
associated to the display network.

The network can be saved in a .glm format using the igraph package, the function `write.graph`

and extracting the output `obkect$gR`

.

The interactive process is terminated by clicking the second button and selecting ‘Stop’ from the menu, or from the ‘Stop’ menu on the graphics window.

The `color.node`

is a vector of length two,
of any of the three kind of `R`

colors, i.e., either a color name
(an element of `colors()`

), a hexadecimal string of the form `"#rrggbb"`

,
or an integer `i`

meaning `palette()[i]`

. `color.node[1]`

and
`color.node[2]`

give the color for filled nodes of the *X*- and *Y*-variables
respectively. Defaults to `c("white", "white")`

.

`color.edge`

give the color to edges with colors corresponding to the values in
`mat`

. Defaults to `color.GreenRed(100)`

for negative (green) and positive (red) correlations. We also propose other palettes of colors, such as `color.jet`

and `color.spectral`

, see help on those functions, and examples below. Other palette of colors from the stats package can be used too.

`shape.node[1]`

and `shape.node[2]`

provide the shape of the nodes associate
to *X*- and *Y*-variables respectively. Current acceptable values are
`"circle"`

and `"rectangle"`

. Defaults to `c("circle", "rectangle")`

.

`lty.edge[1]`

and `lty.egde[2]`

give the line type to edges with positive
and negative weight respectively. Can be one of `"solid"`

, `"dashed"`

,
`"dotted"`

, `"dotdash"`

, `"longdash"`

and `"twodash"`

. Defaults
to `c("solid", "solid")`

.

`lwd.edge[1]`

and `lwd.edge[2]`

provide the line width to edges with positive
and negative weight respectively. This attribute is of type double with
a default of `c(1, 1)`

.

`network`

return a list containing the following components:

`M` |
the correlation matrix used by |

`gR` |
a |

If the number of variables is high, the generation of the network generation can take some time.

Ignacio González and Kim-Anh Lê Cao.

Mathematical definition: González I., Lê Cao K-A., Davis, M.J. and Déjean, S. (2012). Visualising associations between paired omics data sets. J. Data Mining 5:19. http://www.biodatamining.org/content/5/1/19/abstract

Examples and illustrations:

Rohart F, Gautier B, Singh A, Lê Cao K-A. mixOmics: an R package for 'omics feature selection and multiple data integration. PLoS Comput Biol 13(11): e1005752

Relevance networks:

Butte, A. J., Tamayo, P., Slonim, D., Golub, T. R. and Kohane, I. S. (2000).
Discovering functional relationships between RNA expression and chemotherapeutic
susceptibility using relevance networks. *Proceedings of the National Academy
of Sciences of the USA* **97**, 12182-12186.

Moriyama, M., Hoshida, Y., Otsuka, M., Nishimura, S., Kato, N., Goto, T., Taniguchi, H.,
Shiratori, Y., Seki, N. and Omata, M. (2003). Relevance Network between Chemosensitivity
and Transcriptome in Human Hepatoma Cells. *Molecular Cancer Therapeutics* **2**,
199-205.

`plotVar`

, `cim`

, `color.GreenRed`

, `color.jet`

, `color.spectral`

and http: //www.mixOmics.org for more details.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | ```
## network representation for objects of class 'rcc'
data(nutrimouse)
X <- nutrimouse$lipid
Y <- nutrimouse$gene
nutri.res <- rcc(X, Y, ncomp = 3, lambda1 = 0.064, lambda2 = 0.008)
## Not run:
# may not work on the Linux version, use Windows instead
# sometimes with Rstudio might not work because of margin issues,
# in that case save it as an image
jpeg('example1-network.jpeg', res = 600, width = 4000, height = 4000)
network(nutri.res, comp = 1:3, cutoff = 0.6)
dev.off()
## End(Not run)
## Changing the attributes of the network
## Not run:
# sometimes with Rstudio might not work because of margin issues,
# in that case save it as an image
jpeg('example2-network.jpeg')
network(nutri.res, comp = 1:3, cutoff = 0.45,
color.node = c("mistyrose", "lightcyan"),
shape.node = c("circle", "rectangle"),
color.edge = color.jet(100),
lty.edge = "solid", lwd.edge = 2,
show.edge.labels = FALSE)
dev.off()
## End(Not run)
## interactive 'cutoff'
## Not run:
network(nutri.res, comp = 1:3, cutoff = 0.55, interactive = TRUE)
## select the 'cutoff' and "see" the new network
## End(Not run)
## network representation for objects of class 'spls'
data(liver.toxicity)
X <- liver.toxicity$gene
Y <- liver.toxicity$clinic
toxicity.spls <- spls(X, Y, ncomp = 3, keepX = c(50, 50, 50),
keepY = c(10, 10, 10))
## Not run:
# sometimes with Rstudio might not work because of margin issues,
# in that case save it as an image
jpeg('example3-network.jpeg')
network(toxicity.spls, comp = 1:3, cutoff = 0.8,
color.node = c("mistyrose", "lightcyan"),
shape.node = c("rectangle", "circle"),
color.edge = color.spectral(100),
lty.edge = "solid", lwd.edge = 1,
show.edge.labels = FALSE, interactive = FALSE)
dev.off()
## End(Not run)
``` |

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.