Learn R Programming

graph (version 1.50.0)

graph-class: Class "graph"

Description

A virtual class that all graph classes should extend.

Arguments

Objects from the Class

A virtual Class: No objects may be created from it.

Slots

edgeData:
An attrData instance for edge attributes.
nodeData:
An attrData instance for node attributes.
graphData:
A list for graph-level attributes. Only mandatory list item is edgemode which indicates whether edges are "directed" or "undirected"
renderInfo:
A list of graph rendering information.

Methods

nodes
return a character vector containing the names of the nodes of the graph
nodes<-
rename the nodes of the graph
show
signature(object = "graph"):A print method for the graph.
acc
signature(object = "graph"): find all nodes accessible from the specified node.
complement
signature(x = "graph"): compute the complement of the supplied graph. The complement is defined with respect to the complete graph on the nodes in x. Currently this returns an object of class graphNEL.
connComp
signature(object = "graph"): find the connected components of a graph.
degree
signature(object = "graph", Nodes = "missing"): find the degree of a node (number of coincident edges).
degree
signature(object = "graph", Nodes = "ANY"): as above.
degree
signature(object = "MultiGraph", Nodes = "missing"): find the degree of a node (number of coincident edges).
dfs
signature(object = "graph"): execute a depth first search on a graph starting with the specified node.
edges
signature(object="graph", which="character"): return the edges indicated by which. which can be missing in which case all edges are returned or it can be a character vector with the node labels indicating the nodes whose edge lists are wanted.
edgeDataDefaults
Get and set default attributes for the edges in the graph.
edgeData
Get and set attributes for edges in the graph
edgemode
signature(object="graph"): return the edgemode for the graph. Currently this can be either directed or undirected.
edgemode<-
signature(object="graph", value="character"): set the edgemode for the graph. Currently this can be either directed or undirected.
edgeWeights
Return a list of edge weights in a list format similar to the edges method.
intersection
signature(x = "graph", y = "graph"): compute the intersection of the two supplied graphs. They must have identical nodes. Currently this returns an object of class graphNEL. With edge weights of 1 for any matching edge.
isAdjacent
signature(from="character", to="character"): Determine if edges exists between nodes.
isConnected
signature(object = "graph"): A boolean that details if a graph is fully connected or not.
isDirected
Return TRUE if the graph object has directed edges and FALSE otherwise.
join
signature(x = "graph", y = "graph"): returns the joining of two graphs. Nodes which are shared by both graphs will have their edges merged. Note that edgeWeights for the resulting graph are all set to 1. Users wishing to preserve weights in a join operation must perform addEdge operations on the resulting graph to restore weights.
nodes<-
A generic function that allows different implementations of the graph class to reset the node labels
nodeDataDefaults
Get/set default attributes for nodes in the graph.
nodeData
Get/set attributes for nodes in the graph.
numEdges
signature(object = "graph"): compute the number of edges in a graph.
numNodes
signature(object = "graph"): compute the number of nodes in a graph.
plot
Please see the help page for the plot,graph-method method in the Rgraphviz package
union
signature(x = "graph", y = "graph"): compute the union of the two supplied graphs. They must have identical nodes. Currently this returns an object of class graphNEL.
edgeNames
signature(object = "graph"): Returns a vector of the edge names for this graph, using the format tail\~head, where head is the name of the tail node and head is the name of the head node.
updateGraph
signature(object = "graph"): Updates old instances of graph objects.

Details

degree returns either a named vector (names correspond to the nodes in the graph) containing the degree for undirected graphs or a list with two components, inDegree and outDegree for directed graphs.

connComp returns a list of the connected components. Each element of this list contains the labels of all nodes in that component.

For a directed graph or digraph the underlying graph is the graph that results from removing all direction from the edges. This can be achieved using the function ugraph.

A weakly connected component of a digraph is one that is a connected component of the underlying graph. This is the default for connComp. A digraph is strongly connected if every two vertices are mutually reachable. A strongly connected component of a digraph, D, is a maximal strongly connected subdigraph of D. See the RBGL package for an implementation of Trajan's algorithm to find strongly connected components (strongComp).

In the graph implementation of connComp weak connectivity is used. If the argument to connComp is a directed graph then ugraph is called to create the underlying undirected graph and that is used to compute connected components. Users who want different behavior are encouraged to use RBGL.

References

Graph Theory and its Applications, J. Gross and J. Yellen.

See Also

graphNEL-class, graphAM-class, distGraph-class.

Examples

Run this code
  set.seed(123)
  g1 <- randomGraph(letters[1:10], 1:4, p= 0.3)
  numEdges(g1)
  edgeNames(g1)
  edges(g1)
  edges(g1, c("a","d")) # those incident to 'a' or 'd'

Run the code above in your browser using DataLab