Igraph - 查询图中是否包含顶点
Igraph - Query if vertexes contained in graph
我有一个图表:
df1[c("from", "to")]
df1 <- read.table(header=T, text=" from to
8 1949 1967
10 3273 3395")
graph_bad_edges <- graph.data.frame(df1, directed=FALSE)
及其顶点列表:
bad_v <- V(graph_bad_edges)
bad_v
+ 4/4 vertices, named:
[1] 1949 3273 1967 3395
我有不同的图表:
df2 <- read.table(header=T, text=" from to
1 1947 1948
2 1947 1949
3 1947 1967
4 1947 1968
5 1948 1949
6 1948 1967
7 1948 1968
8 1949 1968")
gg <- graph.data.frame(df2)
及其顶点列表:
new_v <- V(gg)
new_v
+ 5/5 vertices, named:
[1] 1947 1948 1949 1967 1968
我想查询图 2 中的顶点是否包含图 1 中的任何顶点。
我愿意:
bad_v %in% new_v
[1] TRUE TRUE TRUE TRUE
这显然是错误的。
我该如何查询?
您需要提取并比较 bad_v
和 new_v
的名称,即
names(bad_v) %in% names(new_v)
#[1] TRUE FALSE TRUE FALSE
我有一个图表:
df1[c("from", "to")]
df1 <- read.table(header=T, text=" from to
8 1949 1967
10 3273 3395")
graph_bad_edges <- graph.data.frame(df1, directed=FALSE)
及其顶点列表:
bad_v <- V(graph_bad_edges)
bad_v
+ 4/4 vertices, named:
[1] 1949 3273 1967 3395
我有不同的图表:
df2 <- read.table(header=T, text=" from to
1 1947 1948
2 1947 1949
3 1947 1967
4 1947 1968
5 1948 1949
6 1948 1967
7 1948 1968
8 1949 1968")
gg <- graph.data.frame(df2)
及其顶点列表:
new_v <- V(gg)
new_v
+ 5/5 vertices, named:
[1] 1947 1948 1949 1967 1968
我想查询图 2 中的顶点是否包含图 1 中的任何顶点。
我愿意:
bad_v %in% new_v
[1] TRUE TRUE TRUE TRUE
这显然是错误的。
我该如何查询?
您需要提取并比较 bad_v
和 new_v
的名称,即
names(bad_v) %in% names(new_v)
#[1] TRUE FALSE TRUE FALSE