R igraph 手册页

如果您从 R 中使用 igraph,请使用此选项

which_multiple {igraph}R 文档

查找图中的多重边或自环边

描述

自环边是指从顶点到自身的边。如果一条边与另一条边具有完全相同的头顶点和尾顶点,则该边是多重边。没有多重边和自环边的图称为简单图。

用法

which_multiple(graph, eids = E(graph))

参数

输入图。

eids

查询限制的边。 默认情况下,这是图中的所有边。

详细信息

any_loop 决定图是否具有任何自环边。

which_loop 决定图的边是否为自环边。

any_multiple 决定图是否具有任何多重边。

which_multiple 决定图的边是否为多重边。

count_multiple 计算图中每条边的重数。

请注意,which_multiplecount_multiple 的语义不同。 which_multiple 对除一个之外的多重边的所有出现都给出 TRUE。 即,如果图中存在三个 i-j 边,则 which_multiple 仅对其中两个返回 TRUE,而 count_multiple 对所有三个都返回 ‘3’。

请参阅示例,了解如何在保留其原始重数作为边属性的同时消除多重边。

any_loopany_multiple 返回一个逻辑标量。 which_loopwhich_multiple 返回一个逻辑向量。 count_multiple 返回一个数值向量。

作者

Gabor Csardi csardi.gabor@gmail.com

参见

simplify 用于消除自环边和多重边。

示例


# Loops
g <- graph( c(1,1,2,2,3,3,4,5) )
any_loop(g)
which_loop(g)

# Multiple edges
g <- barabasi.game(10, m=3, algorithm="bag")
any_multiple(g)
which_multiple(g)
count_multiple(g)
which_multiple(simplify(g))
all(count_multiple(simplify(g)) == 1)

# Direction of the edge is important
which_multiple(graph( c(1,2, 2,1) ))
which_multiple(graph( c(1,2, 2,1), dir=FALSE ))

# Remove multiple edges but keep multiplicity
g <- barabasi.game(10, m=3, algorithm="bag")
E(g)$weight <- count_multiple(g)
g <- simplify(g, edge.attr.comb=list(weight = "min"))
any(which_multiple(g))
E(g)$weight


[包 igraph 版本 1.3.5 索引]