Learn R Programming

data.tree (version 1.1.0)

as.list.Node: Convert a data.tree structure to a list-of-list structure

Description

Convert a data.tree structure to a list-of-list structure

Usage

# S3 method for Node
as.list(
  x,
  mode = c("simple", "explicit"),
  unname = FALSE,
  nameName = ifelse(unname, "name", ""),
  childrenName = "children",
  rootName = "",
  keepOnly = NULL,
  pruneFun = NULL,
  ...
)

ToListSimple(x, nameName = "name", pruneFun = NULL, ...)

ToListExplicit( x, unname = FALSE, nameName = ifelse(unname, "name", ""), childrenName = "children", pruneFun = NULL, ... )

Arguments

x

The Node to convert

mode

How the list is structured. "simple" (the default) will add children directly as nested lists. "explicit" puts children in a separate nested list called childrenName

unname

If TRUE, and if mode is "explicit", then the nested children list will not have named arguments. This can be useful e.g. in the context of conversion to JSON, if you prefer the children to be an array rather than named objects.

nameName

The name that should be given to the name element

childrenName

The name that should be given to the children nested list

rootName

The name of the node. If provided, this overrides Node$name

keepOnly

A character vector of attributes to include in the result. If NULL (the default), all attributes are kept.

pruneFun

allows providing a prune criteria, i.e. a function taking a Node as an input, and returning TRUE or FALSE. If the pruneFun returns FALSE for a Node, then the Node and its entire sub-tree will not be considered.

...

Additional parameters passed to as.list.Node

Examples

Run this code
data(acme)

str(ToListSimple(acme))
str(ToListSimple(acme, keepOnly = "cost"))

str(ToListExplicit(acme))
str(ToListExplicit(acme, unname = TRUE))
str(ToListExplicit(acme, unname = TRUE, nameName = "id", childrenName = "descendants"))

Run the code above in your browser using DataLab