The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

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 ORCID iD [aut, cre], Michael Condouris ORCID iD [ctb], Sai Im ORCID iD [ctb]
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)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.