1
我有這樣一個分層ID的字符向量:R:創建字符向量從ID的嵌套列表
ids <- c("0","1","2","3","1.1","1.2","1.3","2.1","2.2","2.11","2.21","2.22")
分層結構如下:
1
1.1
1.2
1.3
2
2.1
2.11
2.2
2.21
2.22
我想使用從networkD3
包中的diagonalNetwork()
可視化此層次結構。但diagonalNetwork()
需要確定每個節點的孩子像這樣的嵌套列表:
l <- list(name = "0",
children = list(
list(name = "1",
children = list(
list(name = "1.1"),
list(name = "1.2"),
list(name = "1.3")
)
),
list(name = "2",
children = list(
list(name = "2.1",
children = list(
list(name = "2.11")
)
),
list(name = "2.2",
children = list(
list(name = "2.21"),
list(name = "2.22")
)
)
)
)
)
)
我的實際集ID是更大和更深的(最多6個位數),所以我需要一種方法來自動創建該嵌套列表。我開始像這樣的幾列創建存儲的ID數字的data.frame:
df <- data.frame(root = 0,
a = c(1, 1, 1, 1, 2, 2, 2, 2, 2, 2),
b = c(NA, 1, 2, 3,NA, 1, 1, 2, 2, 2),
c = c(NA,NA,NA,NA,NA,NA, 1,NA, 1, 2))
但我不能想辦法得到任何進一步與我所關心的。 有沒有更有希望的方法?