如何获取图中没有任何前驱的顶点。例如,这是图表数据:
lfs = data.table( from = c('x', 'x', 'y'), to = c('y', 'p', 'z'))
lfs
# from to
#: x y
#: x p
#: y z
g = graph_from_data_frame(lfs)
g
# IGRAPH DN-- 4 3 --
# + attr: name (v/c)
# + edges (vertex names):
# [1] x->y x->p y->z
在此图表x
中没有任何前身。是否有任何查询函数可以轻松获得这些顶点?
答案 0 :(得分:3)
您可以使用degree
查找进入节点的边缘
library(igraph)
lfs <- data.frame( from = c('x', 'x', 'y'), to = c('y', 'p', 'z'))
g <- graph_from_data_frame(lfs)
# find the edges in to a node
degree(g, mode="in")
#x y p z
#0 1 1 1
# You can then subset to get the node names
V(g)$name[!degree(g, mode="in")]
# "x"