最终我需要一个df来保存每个顶点及其父节点(根节点为NA或NULL),所以如果有人有办法使用不同的方法来获取它,那么同样值得赞赏。
现在我有以下使用igraph及其内置函数,代码如下:
g <- graph.adjacency(-weight_matrix, weighted = T)
g <- minimum.spanning.tree(g)
现在图表是 GRAPH 的最小跨度。它不是定向的,也没有单个根节点。经过大量搜索后,我找到了dominator.tree
函数,并尝试运行以下代码,错误如下:
> dominator.tree(g, 1)
Error in simple_vs_index(V(graph), idx, na_ok = na_ok) :
Unknown vertex selected
> dominator.tree(g, 2)
Error in simple_vs_index(V(graph), idx, na_ok = na_ok) :
Unknown vertex selected
> dominator.tree(g, V(g)[1])
Error in simple_vs_index(V(graph), idx, na_ok = na_ok) :
Unknown vertex selected
> dominator.tree(g, V(g))
Error in simple_vs_index(V(graph), idx, na_ok = na_ok) :
Unknown vertex selected
在文档中它要求提供顶点ID,但我无法弄清楚如何提供它。
编辑:
dominator.tree(g, root = 1)
dominator.tree(g, root = 2)
都返回了相同的错误unknown vertex selected
,并显示与上面相同的错误消息
答案 0 :(得分:1)
奇怪的是,必须使用命名参数指定图的根顶点 - 简单的位置参数是不够的。所以,这不起作用:
> dominator.tree(g, 2)
但这会:
> dominator.tree(g, root=2)