This functions allows to convert nested hierarchies into other data structures.

hier_convert(tree, as = "df")

Arguments

tree

a (nested) hierarchy created using hier_create() or modified using hier_add(), hier_delete() or hier_rename().

as

(character) specifying the export format. Possible choices are:

  • "df": a data.frame with two columns. The first columns contains a string containing as many @ as the level of the node in the string (e.g @ corresponds to the overall total while @ would be all codes contributing to the total. The second column contains the names of the levels.

  • "dt": like the df-version but this result is converted to a data.table

  • "argus": used to create hrc-files suitable for tau-argus

  • "json": json format suitable e.g. as input for the shinyTree package.

  • "code": code required to generate the hierarchy

  • "sdc": a list which is a suitable input for sdcTable

Examples

h <- hier_create(root = "Total", nodes = LETTERS[1:2]) h <- hier_add(h, root = "A", nodes = c("a1", "a2")) h <- hier_add(h, root = "B", nodes = c("b1", "b2")) h <- hier_add(h, root = "b1", nodes = "b1a") hier_display(h)
#> Total #> ├─A #> │ ├─a1 #> │ └─a2 #> └─B #> ├─b1 #> │ └─b1a #> └─b2
# required code to build the hierarchy hier_convert(h, as = "code")
#> [1] "library(sdcHierarchies)" #> [2] "tree <- hier_create(root = 'Total', nodes = c('A', 'B'))" #> [3] "tree <- hier_add(tree = tree, root = 'A', nodes = c('a1', 'a2'))" #> [4] "tree <- hier_add(tree = tree, root = 'B', nodes = c('b1', 'b2'))" #> [5] "tree <- hier_add(tree = tree, root = 'b1', nodes = 'b1a')" #> [6] "print(tree)" #> attr(,"hier_convert") #> [1] TRUE #> attr(,"hier_format") #> [1] "code"
# data.frame hier_convert(h, as = "df")
#> level name #> 1 @ Total #> 2 @@ A #> 3 @@@ a1 #> 4 @@@ a2 #> 5 @@ B #> 6 @@@ b1 #> 7 @@@@ b1a #> 8 @@@ b2