我试图以dendrogram
顺序获取BFS
的内部节点的高度。
utils::str
函数以dendrogram
顺序打印BFS
。所以我以为我会使用它(将输出重定向到文件并对其进行一些解析)获得我需要的信息。
我的'dendrogram'
有2个分支机构,共有5902个成员download RDS file link: dendro.RDS。
当我尝试:
utils::str(dendro)
我收到此错误:
Error in getOption("OutDec") : node stack overflow
Error during wrapup: node stack overflow
我尝试使用简单的递归函数:
nodeHeights <- function(dendro){
if(is.leaf(dendro))
0
else{
cat(attr(dendro,"height"),"\n")
max(nodeHeights(dendro[[1]]),nodeHeights(dendro[[2]]))+1
}
}
但: nodeHeights(dendro)
引发此错误:
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error during wrapup: evaluation nested too deeply: infinite recursion / options(expressions=)?
有什么想法吗?或者有任何建议如何以dendrogram
顺序获取BFS
的节点高度?
答案 0 :(得分:2)
> options(expressions=10000)
> nodeHeights(dendro)
[1] 1084
来自?options
:
表达式设置了嵌套表达式数量的限制 被评估
答案 1 :(得分:1)
在我的.bashrc中添加ulimit -s <high_value>
就可以了。