如何获取图中没有任何前继顶点的顶点。例如,这是图形数据:
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
没有任何前任。是否有查询函数可以轻松获取这样的顶点?
as_edgelist(g)
会给你一个矩阵
,其中第一列是“父”节点,第二列是“子”节点。没有父节点的节点是那些不出现在第二列中的节点。你可以尝试使用setdiff(V(g)$name,as_edgelist(g)[,2])
。 - nicola?ego
,您可以使用它来查找祖先(和后代)。 - user20650