У меня есть таблица, которая представляет иерархическую структуру, подобную древовидной структуре в пакете 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"))
Преобразовать фрейм данных в дерево данных:
a <- as.Node(df, mode = c("table"),
pathName = "stringPath", pathDelimiter = "/", colLevels = "lvl",
na.rm = TRUE)
print(a, "desc",'level' ,limit = 20)