combineNodes

combineNodes

A function to combine, or collapse, a specified set of nodes in a graph.

Keywords
manip
Usage
combineNodes(nodes, graph, newName, ...) "combineNodes"(nodes, graph, newName, collapseFunction=sum)
Arguments
nodes
A set of nodes that are to be collapsed.
graph
The graph containing the nodes
newName
The name for the new, collapsed node.
collapseFunction
Function or character giving the name of a function used to collapse the edge weights after combining nodes. The default is to sum up the weights, but mean would be a useful alternative.
...
Additional arguments for the generic
Details

The nodes specified are reduced to a single new node with label given by newName. The in and out edges of the set of nodes are all made into in and out edges for the new node.

Value

An new instance of a graph of the same class as graph is returned. This new graph has the specified nodes reduced to a single node.

See Also

inEdges, addNode

Aliases
  • combineNodes
  • combineNodes,character,graphNEL,character-method
Examples
  V <- LETTERS[1:4]
  edL1 <- vector("list", length=4)
  names(edL1) <- V
  for(i in 1:4)
    edL1[[i]] <- list(edges=c(2,1,4,3)[i], weights=sqrt(i))
  gR <- graphNEL(nodes=V, edgeL=edL1, edgemode="directed")
  gR <- addNode("M", gR)
  gR <- addEdge("M", "A", gR, 1)
  gR <- addEdge("B", "D", gR, 1)
  gX <- combineNodes(c("B","D"), gR, "X")

  gR <- addNode("K", gR)
  gR <- addEdge(c("K","K"), c("D", "B"), gR, c(5,3))
  edgeWeights(combineNodes(c("B","D"), gR, "X"))$K
  edgeWeights(combineNodes(c("B","D"), gR, "X", mean))$K
Documentation reproduced from package graph, version 1.50.0, License: Artistic-2.0

Community examples

Looks like there are no examples yet.