R data.tree 枚举层级

R data.tree enumerate the hierarchy

我是 data.tree 的新手,喜欢枚举具有多个维度的巨大层次结构。 实际上,我正在使用嵌套循环进行迭代和迭代,并且使用 climb 非常糟糕。

library(data.tree)    
for(i2 in 1:2) {
  for(i3 in 1:2) {
  h2 <- acme$Climb(position = c(1,i2))$path
  h3 <- acme$Climb(position = c(1,i2,i3))$path
  print(sprintf("%d.%d.%d",1,i2, i3))
  print(sprintf("%d.%d",1,i2))
 }
 }

1 Acme 公司 1
2¦--会计1.1
3 ¦ ¦--新软件1.1.1
4¦°--新会计准则1.1.2
5¦--研究1.2
6 ¦ ¦--新产品线1.2.1
7 ¦ °--新实验室1.2.2
8°--IT 1.3
9 ¦--外包1.3.1
10¦--走向敏捷1.3.2
11°--切换到R 1.3.3

我还不确定你想要什么。让我们试试这个:

library(data.tree)
data(acme)

NodeName <- function(node) {
  if (node$isRoot) "1"
  else paste(NodeName(node$parent), node$position, sep = ".")
}

print(acme, nme = NodeName)

这产生:

                          levelName   nme
1  Acme Inc.                            1
2   ¦--Accounting                     1.1
3   ¦   ¦--New Software             1.1.1
4   ¦   °--New Accounting Standards 1.1.2
5   ¦--Research                       1.2
6   ¦   ¦--New Product Line         1.2.1
7   ¦   °--New Labs                 1.2.2
8   °--IT                             1.3
9       ¦--Outsource                1.3.1
10      ¦--Go agile                 1.3.2
11      °--Switch to R              1.3.3