Description Usage Arguments Details Value See Also Examples

`nds_compar`

identifies **common nodes** in a pair of graphs.

`eds_compar`

identifies **common edges** in a pair of graphs.

Given a list of graphs, `list_compar`

extract all combinations of graph pairs and compare them on common elements (nodes and edges).

1 2 3 4 5 6 | ```
nds_compar(grphs, nd.var = "type")
eds_compar(grphs, nd.var = "type")
list_compar(lgrph, nd.var = "type",
verbose = FALSE)
``` |

`grphs` |
A list of two graphs (pair of graphs) to be compared. |

`lgrph` |
A list of any number of graphs to be pairwise compared. The list can be typically obtained with the function |

`nd.var` |
An attribute of the graph nodes containing the node variable (ie, field) on which the comparison will be done. By default |

`verbose` |
Logical. If TRUE, the names of each graph pair combination are listed on the screen. By default |

`list_compar()`

calls the functions: `nds_compar()`

and `eds_compar()`

which return respectively the **common nodes** and the **common edges** of a graph pairwise.

**Nodes** are common when they have the same value for a given variable, for example `horse`

, `sword`

, etc., for the variable `type`

(`nd.var = "type"`

).

**Edges** are common when they have the same value for *starting* and *ending* nodes (`horse`

, `sword`

, etc.) and the same type of edge (`'='`

, `'+'`

, etc.).
For example, `a -=- b`

in graph 1 is equal to `a -=- b`

in graph 2, but not equal to `a -+- b`

. Edges of type `=`

(*normal* edges) are undirected, so that `a -=- b`

is equal to `b -=- a`

. But edges of types `+`

(*attribute* edges) or `>`

(*diachronic* edges) are directed, so: `a ->- b`

is not equal to `b ->- a`

.

If any of the graphs has multiple nodes/edges with the same value, it is considered to count for as many coincidences as the smaller multiplicity. For instance, if there are 2 nodes with value `epee`

in graph 1, and 3 nodes with value `epee`

in graph 2, their number of common nodes is `min(2, 3) = 2`

.

`nds_compar()`

returns the input pair of graphs, each complemented with a new node attribute named `comm`

with value 1 for common nodes and 0 for non-common nodes.

`eds_compar()`

returns the input pair of graphs, each complemented with a new edge attribute named `comm`

with value 1 for common edges and 0 for non-common edges.

`list_compar()`

returns a list of all combinations of graph pairs. For each pair, both graphs are complemented with the node attribute (`comm`

) identifying common nodes and the edge attribute (`comm`

) identifying common edges. Each pair is also complemented with an attribute named `nd.var`

recording the compared node variable.

`list_dec`

,
`plot_compar`

,
`same_elements`

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 | ```
# Read data
imgs <- read.table(system.file("extdata", "imgs.tsv", package = "iconr"),
sep="\t",stringsAsFactors = FALSE)
nodes <- read.table(system.file("extdata", "nodes.tsv", package = "iconr"),
sep="\t",stringsAsFactors = FALSE)
edges <- read.table(system.file("extdata", "edges.tsv", package = "iconr"),
sep="\t",stringsAsFactors = FALSE)
# Generate list of graphs from the three data.frames
lgrph <- list_dec(imgs, nodes, edges)
# Generate list of all graph comparisons depending on the node "type" variable
g.compar <- list_compar(lgrph, nd.var = "type")
length(g.compar)
## Ten pairwise comparisons
# Inspect the second pairwise comparison of the list
g.compar[[2]]
## The two compared graphs with the name of the comparison variable
# Inspecting nodes:
igraph::as_data_frame(g.compar[[2]][[1]], "vertices")
## Vertices from the first decoration graph
igraph::as_data_frame(g.compar[[2]][[2]], "vertices")
## Vertices from the second decoration graph
# Inspecting edges:
igraph::as_data_frame(g.compar[[2]][[1]])
## Edges of the first decoration graph
igraph::as_data_frame(g.compar[[2]][[2]])
## Edges of the second decoration graph
``` |

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.