我试图得到一个内部节点的高度dendrogram的BFS顺序.
该utils::str函数dendrogram按BFS顺序打印.所以我认为我会使用它(将输出重定向到文件并对其进行一些解析以获取我需要的信息).
我的'dendrogram'2个分支机构和5902个成员总共可下载RDS文件链接:dendro.RDS.
当我尝试:
utils::str(dendro)
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
Error in getOption("OutDec") : node stack overflow
Error during wrapup: node stack overflow
Run Code Online (Sandbox Code Playgroud)
我尝试使用一个简单的递归函数:
nodeHeights <- function(dendro){
if(is.leaf(dendro))
0
else{
cat(attr(dendro,"height"),"\n")
max(nodeHeights(dendro[[1]]),nodeHeights(dendro[[2]]))+1
}
}
Run Code Online (Sandbox Code Playgroud)
但是:nodeHeights(dendro)
抛出此错误:
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error during wrapup: evaluation nested too deeply: infinite recursion / options(expressions=)?
Run Code Online (Sandbox Code Playgroud)
任何的想法?或任何建议如何获得的节点高度dendrogram的BFS订单?
> options(expressions=10000)
> nodeHeights(dendro)
[1] 1084
Run Code Online (Sandbox Code Playgroud)
从?options:
表达式对要计算的嵌套表达式的数量设置限制