R data.tree Создать новый столбец для пути иерархии в таблице древовидной структуры - PullRequest
0 голосов
/ 23 января 2020

У меня есть таблица, которая представляет иерархическую структуру, подобную древовидной структуре в пакете R data.tree. Чтобы преобразовать фрейм данных в древовидную структуру, мне нужно создать столбец stringPath, используя другие столбцы. Есть ли способ добиться этого простым способом?

Образцы данных:

df <- structure(list(hier = list(
"A", "A268", "A268497", "A268497BOX", "A268497BOX2", "A268497BOX218", 
"A277", "A277A79", "A277A79091", "A277A790911", "A277A79091144"), desc = c("Appliances", 
"Displays", "Display", "Box", "Secondary Location", "Assort", 
"Ray", "IRON", "IRONING-IRON", "OPEN STOCK", "NA"), level = c("1", 
"2", "3", "4", "5", "6", "2", "3", "4", "5", "6"), stringPath = c("A", "A/268", "A/268/497", "A/268/497/BOX", 
"A/268/497/BOX/2", "A/268/497/BOX/2/18", "A/277", "A/277/A79", 
"A/277/A79/091", "A/277/A79/091/1", "A/277/A79/091/1/44")), row.names = c(NA, 
-11L), class = c("tbl_df", "tbl", "data.frame"))

enter image description here

Преобразовать фрейм данных в дерево данных:

a <- as.Node(df, mode = c("table"),
        pathName = "stringPath", pathDelimiter = "/", colLevels = "lvl",
        na.rm = TRUE)


print(a, "desc",'level' ,limit = 20)

enter image description here

...