# BinTree: Binary Tree In AndriSignorell/DescTools: Tools for Descriptive Statistics

## Description

Create a binary tree of a given number of nodes `n`. Can be used to organize a sorted numeric vector as a binary tree.

## Usage

 ```1 2 3``` ```BinTree(n) PlotBinTree(x, main="Binary tree", horiz=FALSE, cex=1.0, col=1, ...) ```

## Arguments

 `n` integer, size of the tree `x` numeric vector to be organized as binary tree. `main` main title of the plot. `horiz` logical, should the plot be oriented horizontally or vertically. The latter is default. `cex` character extension factor for the labels. `col` color of the linesegments of the plot. `...` the dots are sent to `Canvas`.

## Details

If we index the nodes of the tree as 1 for the top, 2–3 for the next horizontal row, 4–7 for the next, ... then the parent-child traversal becomes particularly easy. The basic idea is that the rows of the tree start at indices 1, 2, 4, ....

BinTree(13) yields the vector `c(8, 4, 9, 2, 10, 5, 11, 1, 12, 6, 13, 3, 7)` meaning that the smallest element will be in position 8 of the tree, the next smallest in position 4, etc.

## Value

an integer vector of length n

## Author(s)

Terry Therneau <therneau.terry@mayo.edu>
Andri Signorell <andri@signorell.net> (plot)

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16``` ```BinTree(12) x <- sort(sample(100, 24)) z <- PlotBinTree(x, cex=0.8) # Plot example - Titanic data, for once from a somwhat different perspective tab <- apply(Titanic, c(2,3,4), sum) cprob <- c(1, prop.table(apply(tab, 1, sum)) , as.vector(aperm(prop.table(apply(tab, c(1,2), sum), 1), c(2, 1))) , as.vector(aperm(prop.table(tab, c(1,2)), c(3,2,1))) ) PlotBinTree(round(cprob[BinTree(length(cprob))],2), horiz=TRUE, cex=0.8, main="Titanic") text(c("sex","age","survived"), y=0, x=c(1,2,3)+1) ```

AndriSignorell/DescTools documentation built on April 8, 2021, 5:51 a.m.