| Type: | Package | 
| Title: | Reshape Data Tree | 
| Version: | 0.1.1 | 
| Maintainer: | Jiena McLellan <jienagu90@gmail.com> | 
| Description: | A series of utility functions to help with reshaping hierarchy of data tree, and reform the structure of data tree. | 
| BugReports: | https://github.com/jienagu/forestry/issues | 
| Suggests: | knitr, rmarkdown | 
| VignetteBuilder: | knitr | 
| License: | MIT + file LICENSE | 
| Imports: | data.tree | 
| Encoding: | UTF-8 | 
| LazyData: | true | 
| RoxygenNote: | 7.0.2 | 
| NeedsCompilation: | no | 
| Packaged: | 2023-11-20 19:08:40 UTC; jienamclellan | 
| Author: | Jiena McLellan | 
| Depends: | R (≥ 3.5.0) | 
| Repository: | CRAN | 
| Date/Publication: | 2023-11-20 19:20:02 UTC | 
Add children node
Description
Add children node
Usage
add_child(main_tree, x, assign_node)
Arguments
| main_tree | the parent tree to be appended with children node | 
| x | xth child | 
| assign_node | appended node as child | 
Value
reshaped tree with children assigned
Examples
data("test_df")
data("exercise_df")
test_node <- data.tree::as.Node(test_df)
test_exercise <- data.tree::as.Node(exercise_df)
add_child(main_tree = test_node, x = 4, assign_node = test_exercise )
print(test_node)
assign attributes to node; work with fix_items function
Description
assign attributes to node; work with fix_items function
Usage
assign_attr(node_from, node_to)
Arguments
| node_from | assigned attributes from | 
| node_to | assigned attributes to | 
Value
a node assigned attributes
Examples
cell_node1 <- data.tree::Node$new("cell1")
cell_node1$AddChild("A")
cell_node2 <- data.tree::Node$new("cell2")
cell_node2$AddChild("A")
cell_node2$Set(group = c(NA, "A1"))
print(assign_attr(node_from = cell_node1$A, node_to = cell_node2$A), "group")
Sort chidren nodes with certain order
Description
Sort chidren nodes with certain order
Usage
children_sort(input_node, input_order, mismatch_last = T)
Arguments
| input_node | input node | 
| input_order | children node order | 
| mismatch_last | TRUE: mismatched children nodes are at the bottom; FALSE: mismatched nodes are at the top | 
Value
tree with children nodes sorted with certian order
Examples
data(test_df)
test_node <- data.tree::as.Node(test_df)
sorted_node <- children_sort(
  input_node = test_node,
  input_order = c("groupB", "groupA"),
  mismatch_last = TRUE)
print(sorted_node)
create a tree with assigned name, children and fields
Description
create a tree with assigned name, children and fields
Usage
create_nodes(tree_name, add_children_count, ...)
Arguments
| tree_name | assign name of tree | 
| add_children_count | assign number of chidren to this tree | 
| ... | parameters that will be passed as fields of this tree | 
Value
a tree with assigned name, children and fields
Examples
create_nodes(tree_name = "tree1", add_children_count = 3, class = c("A", "B", "C"))
create tree appended with each element of input list as a child
Description
create tree appended with each element of input list as a child
Usage
create_tree(input_list, node_name)
Arguments
| input_list | input list to be made for a tree | 
| node_name | name of the tree | 
Value
a tree with each item of the list as each child
Examples
data("test_df")
test_node <- data.tree::as.Node(test_df)
new_shape <- create_tree(test_node$children,"new_tree")
print(new_shape, "hc")
cumulative calculation
Description
cumulative calculation
Usage
cumsum_across_level(input_node, attri_name, level_num)
Arguments
| input_node | tree | 
| attri_name | name of this cummulative count field | 
| level_num | calculate cummulative value cross the level | 
Value
tree with cummulative count
Examples
data(exercise_df)
exercise_node <- data.tree::as.Node(exercise_df)
test <- cumsum_across_level(input_node = exercise_node,
                            attri_name = "exercise_time",
                            level_num = 3)
print(test, "cumsum_number", "exercise_time", "level")
calculate cumsum for input level
Description
calculate cumsum for input level
Usage
cumsum_by_level(input_tree, level_num, attri_name)
Arguments
| input_tree | input tree | 
| level_num | level of tree for cumsum | 
| attri_name | name of this cummulative count field | 
Value
tree with calculated cumsum for input level
Examples
data(exercise_df)
exercise_node <- data.tree::as.Node(exercise_df)
cumsum_by_level(exercise_node, 3, "exercise_time")
Anonymized sample exercise data
Description
Anonymized sample exercise data
Usage
data(exercise_df)
Format
a data frame ready to convert to a tree
Author(s)
Jiena Gu McLellan, 2020-05-26
Examples
data(exercise_df)
fill missing value of a field across a level with 0
Description
fill missing value of a field across a level with 0
Usage
fill_NA_level(input_node, field_name, by_level, fill_with = 0)
Arguments
| input_node | input node | 
| field_name | field for this operation | 
| by_level | across this level | 
| fill_with | fill missing value with this value | 
Value
node with NA filled for the input field at input level
Examples
data(exercise_df)
exercise_node <- data.tree::as.Node(exercise_df)
result <- fill_NA_level(input_node = exercise_node,
                        field_name = "exercise_time",
                        by_level = 2,
                        fill_with = "quarterly")
print(result, "exercise_time")
assign certain children nodes and fill NA for empty fields
Description
assign certain children nodes and fill NA for empty fields
Usage
fix_items(fix_vector, input_node)
Arguments
| fix_vector | children node names to be assigned | 
| input_node | the node to be exapnded with children's names | 
Value
a node expanded with certain children nodes
Examples
cell_node2 <- data.tree::Node$new("cell2")
cell_node2$AddChild("B")
cell_node2$AddChild("C")
cell_node2$Set(class = c(NA, "B1", "C1"))
print(cell_node2, "class")
cell_fixed_items <- fix_items(fix_vector = c("A", "B", "C", "D"), input_node = cell_node2)
print(cell_fixed_items, "class")
numericalize children numeric name to convert JSON object to JSON array
Description
numericalize children numeric name to convert JSON object to JSON array
Usage
fixnames(x)
Arguments
| x | input | 
Value
unname numeric names list
Examples
fixnames(list("1" = 1, "2" = 2))
numericalize children numeric name to convert JSON object to JSON array
Description
numericalize children numeric name to convert JSON object to JSON array
Usage
pre_get_array(x)
Arguments
| x | input list | 
Value
unname numeric names list which is prepared to convert to JSON array
Examples
demo_list <- list("1" = 1, "2" = 2, list("1" = 1, "2" = 2))
pre_get_array(demo_list)
Anonymized sample data
Description
Anonymized sample data
Usage
data(test_df)
Format
a data frame ready to convert to a tree
Author(s)
Jiena Gu McLellan, 2020-05-26
Examples
data(test_df)