我是第一次发帖,但我是这个网站的长期学习者。这是我的问题的答案第一次无法从以前的帖子中进行逆向工程,所以我希望有人可以帮助我解决它。
我正在尝试将爬山搜索算法(hc
来自bnlearn
R 中的包)的结果绘制在相关矩阵上作为 Reingold-Tilford 树图运行。
说我跑:
hc.obj<-hc(corr.matrix)
hc.plot<-qgraph(hc.obj, directed = "TRUE", layout = "spring")
我得到了定向关系的 Fruchterman-Reingold 布局没有问题。
但是无论我如何格式化 hc.obj 中的信息,我都无法让树形布局工作。例如,使用“layout = tree”运行上面的代码会出现错误:“l[, 1] 中的错误:维数不正确”。
这是一个可重现的示例:
require("bnlearn")
require("qgraph")
cm <- matrix(runif(100), ncol=10)
cm <- (cm * lower.tri(cm)) + t(cm * lower.tri(cm))
diag(cm) <- 1
cm.df<-as.data.frame(cm)
hc.obj<-hc(cm.df)
hc.plot<-qgraph(hc.obj, directed = "TRUE", layout = "tree")
同样,如果我尝试通过 igraph 运行:
layout_as_tree(hc.obj)
我收到错误“layout_as_tree(hc.obj) 中的错误:不是图形对象”