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
我是 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