如何从data.tree对象获取节点的深度?

时间:2017-06-19 22:15:50

标签: r treeview data-manipulation

我们说我有这样的测试数据:

library(data.tree)

 df <- structure(list(parent = c("part1", "part3", "part7", "part4", 
"part9", "part1"), child = c("part7", "part12", "part4", "part27", 
"part10", "part13"), children = c("part4", "", "part27", "", 
"", ""), children1 = c("part27", "", "", "", "", ""), pathString = c("Root/part1/part7/part4/part27", 
"Root/part3/part12//", "Root/part7/part4/part27/", "Root/part4/part27//", 
"Root/part9/part10//", "Root/part1/part13//")), .Names = c("parent", 
"child", "children", "children1", "pathString"), row.names = c(NA, 
6L), class = "data.frame")
df$children <- ""
df$children1 <- ""

我创建了一个data.tree,如下所示:

test_tree <- as.Node(df)
print(test_tree, limit = 50)

我试图从根目录中获取树中每个父节点的深度。 尝试阅读文档,但我找不到任何与树深相关的内容。

R中有没有办法从这个data.tree图中获取树的深度?

1 个答案:

答案 0 :(得分:1)

不确定“来自树的树中每个父节点的深度”是什么意思。也许这个?

library(data.tree)
data(acme)
print(acme, 'height', 'level')

这样的打印方式如下:

                          levelName height level
1  Acme Inc.                             3     1
2   ¦--Accounting                        2     2
3   ¦   ¦--New Software                  1     3
4   ¦   °--New Accounting Standards      1     3
5   ¦--Research                          2     2
6   ¦   ¦--New Product Line              1     3
7   ¦   °--New Labs                      1     3
8   °--IT                                2     2
9       ¦--Outsource                     1     3
10      ¦--Go agile                      1     3
11      °--Switch to R                   1     3

请注意,heightlevelNode上的属性/有效值。所以你也可以打电话给acme$height。 有关所有活动的列表,请键入?Node