跳到内容

创建两个图的差。

用法

# S3 method for class 'igraph'
difference(big, small, byname = "auto", ...)

参数

big

减号运算符的左侧参数。有向图或无向图。

small

减号运算符的右侧参数。有向图或无向图。

byname

一个逻辑标量,或字符标量auto。是否基于符号顶点名称执行操作。如果它是auto,则表示如果两个图都已命名则为TRUE,否则为FALSE。如果auto且一个图(但不是两个图)已命名,则会生成警告。

...

忽略,包含用于 S3 兼容性。

一个新的图对象。

详细信息

difference()创建两个图的差。只有存在于第一个图中但不存在于第二个图中的边才会包含在新图中。相应的运算符是%m%

如果byname参数为TRUE(或auto且图形都已命名),则该操作基于符号顶点名称执行。否则,使用数字顶点 ID。

difference()保留第一个图的所有属性(图、顶点和边)。

请注意,bigsmall必须都是有向图或都是无向图,否则会给出错误消息。

参见

作者

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))