【发布时间】:2017-05-14 00:38:40
【问题描述】:
我正在尝试以BFS 顺序获取dendrogram 的内部节点的高度。
utils::str 函数以BFS 顺序打印dendrogram,所以我想我会使用它(将输出重定向到一个文件并对其进行一些解析以获得我需要的信息)。
我的'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
}
}
但是: 节点高度(dendro)
抛出此错误:
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
Error during wrapup: evaluation nested too deeply: infinite recursion / options(expressions=)?
有什么想法吗?或者有什么建议如何在BFS 订单中获取dendrogram 的节点高度?
【问题讨论】:
-
在我的 R 中,probkem 不是 capture.output 而是 utils::str(dendro)
标签: r dendrogram