graph.mult.scaling {statGraph} | R Documentation |
Multidimensional Scaling of Graphs
Description
graph.mult.scaling
performs multidimensional scaling of graphs. It
takes the Jensen-Shannon divergence between graphs (JS) and uses the
cmdscale
function from the stats
package to obtain a set of points such
that the distances between the points are similar to JS.
Usage
graph.mult.scaling(
Graphs,
plot = TRUE,
type = "n",
dist = "JS",
main = "",
...
)
Arguments
Graphs |
a list of undirected graphs.
If each graph has the attribute |
plot |
logical. If |
type |
what type of plot should be drawn. The default value is |
dist |
string indicating if you want to use the 'JS' (default), 'L1' or 'L2' distances. 'JS' means Jensen-Shannon divergence. |
main |
title of the plot (default value is ”). |
... |
additional parameters for |
Value
A list with class 'statGraph' containing the following components:
method: |
a string indicating the used method. |
info: |
a string showing details about the method. |
data.name: |
a string with the data's name(s). |
values: |
a matrix in which each column corresponds to a coordinate and each row corresponds to a graph (point). Then, each row gives the coordinates of the points chosen to represent the Jensen-Shannon divergence (by default), L1, or L2 distance between graphs. |
References
Takahashi, D. Y., Sato, J. R., Ferreira, C. E. and Fujita A. (2012) Discriminating Different Classes of Biological Networks by Analyzing the Graph Spectra Distribution. _PLoS ONE_, *7*, e49949. doi:10.1371/journal.pone.0049949.
Silverman, B. W. (1986) _Density Estimation_. London: Chapman and Hall.
Sturges, H. A. The Choice of a Class Interval. _J. Am. Statist. Assoc._, *21*, 65-66.
Sheather, S. J. and Jones, M. C. (1991). A reliable data-based bandwidth selection method for kernel density estimation. _Journal of the Royal Statistical Society series B_, 53, 683-690. http://www.jstor.org/stable/2345597.
Examples
set.seed(1)
G <- list()
for (i in 1:5) {
G[[i]] <- igraph::sample_gnp(50, 0.5)
}
for (i in 6:10) {
G[[i]] <- igraph::sample_smallworld(1, 50, 8, 0.2)
}
for (i in 11:15) {
G[[i]] <- igraph::sample_pa(50, power = 1, directed = FALSE)
}
graph.mult.scaling(G)