创建两个图的差。
用法
# S3 method for class 'igraph'
difference(big, small, byname = "auto", ...)
详细信息
difference()
创建两个图的差。只有存在于第一个图中但不存在于第二个图中的边才会包含在新图中。相应的运算符是%m%
。
如果byname
参数为TRUE
(或auto
且图形都已命名),则该操作基于符号顶点名称执行。否则,使用数字顶点 ID。
difference()
保留第一个图的所有属性(图、顶点和边)。
请注意,big
和small
必须都是有向图或都是无向图,否则会给出错误消息。
参见
用于操作图结构的其他函数:+.igraph()
、add_edges()
、add_vertices()
、complementer()
、compose()
、connect()
、contract()
、delete_edges()
、delete_vertices()
、difference()
、disjoint_union()
、edge()
、igraph-minus
、intersection()
、intersection.igraph()
、path()
、permute()
、rep.igraph()
、reverse_edges()
、simplify()
、union()
、union.igraph()
、vertex()
作者
Gabor Csardi csardi.gabor@gmail.com
示例
## Create a wheel graph
wheel <- union(
make_ring(10),
make_star(11, center = 11, mode = "undirected")
)
V(wheel)$name <- letters[seq_len(vcount(wheel))]
## Subtract a star graph from it
sstar <- make_star(6, center = 6, mode = "undirected")
V(sstar)$name <- letters[c(1, 3, 5, 7, 9, 11)]
G <- wheel %m% sstar
print_all(G)
#> IGRAPH 32392e9 UN-- 11 15 --
#> + attr: name_1 (g/c), name_2 (g/c), mutual (g/l), circular (g/l), mode
#> | (g/c), center (g/n), name (v/c)
#> + edges (vertex names):
#> a -- b, j
#> b -- a, c, k
#> c -- b, d
#> d -- c, e, k
#> e -- d, f
#> f -- e, g, k
#> g -- f, h
#> h -- g, i, k
#> i -- h, j
#> j -- a, i, k
#> k -- b, d, f, h, j
plot(G, layout = layout_nicely(wheel))