尝试打印树形图时出现节点堆栈溢出错误

dan*_*dan 5 r dendrogram

我试图得到一个内部节点的高度dendrogramBFS顺序.

utils::str函数dendrogramBFS顺序打印.所以我认为我会使用它(将输出重定向到文件并对其进行一些解析以获取我需要的信息).

我的'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)

任何的想法?或任何建议如何获得的节点高度dendrogramBFS订单?

vij*_*cat 2

> options(expressions=10000)
> nodeHeights(dendro)
[1] 1084
Run Code Online (Sandbox Code Playgroud)

?options

表达式对要计算的嵌套表达式的数量设置限制