is.multiple {igraph} | R Documentation |
A loop edge is an edge from a vertex to itself. An edge is a multiple edge if it has exactly the same head and tail vertices as another edge. A graph without multiple and loop edges is called a simple graph.
is.loop(graph, eids=E(graph)) is.multiple(graph, eids=E(graph)) count.multiple(graph, eids=E(graph))
graph |
The input graph. |
eids |
The edges to which the query is restricted. By default this is all edges in the graph. |
Note that the semantics for is.multiple
and
count.multiple
is different. is.multiple
gives TRUE
for all occurences of a multiple edge except for one. Ie. if there are
three i-j
edges in the graph then is.multiple
returns
TRUE
for only two of them while count.multiple
returns
‘3’ for all three.
See the examples for getting rid of multiple edges while keeping their original multiplicity as an edge attribute.
is.loop
and is.multiple
return a logical
vector. count.multiple
returns a numeric vector.
Gabor Csardi csardi@rmki.kfki.hu
simplify
to eliminate loop and multiple edges.
# Loops g <- graph( c(0,0,1,1,2,2,3,4) ) is.loop(g) # Multiple edges g <- barabasi.game(10, m=3) is.multiple(g) count.multiple(g) is.multiple(simplify(g)) all(count.multiple(simplify(g)) == 1) # Direction of the edge is important is.multiple(graph( c(0,1, 1,0) )) is.multiple(graph( c(0,1, 1,0), dir=FALSE )) # Remove multiple edges but keep multiplicity g <- barabasi.game(10, m=3) E(g)$weight <- count.multiple(g) g <- simplify(g) any(is.multiple(g)) E(g)$weight