treeprune: Prune Tree to Given Level

View source: R/treebranches.R

treepruneR Documentation

Prune Tree to Given Level

Description

Prune a tree by removing all the branches above a given level.

Usage

treeprune(X, root = 1, level = 0)

Arguments

X

Object of class "linnet" or "lpp".

root

Index of the root vertex amongst the vertices of as.linnet(X).

level

Integer specifying the level above which the tree should be pruned.

Details

The object X must be either a linear network, or a derived object such as a point pattern on a linear network. The linear network must be an acyclic graph (i.e. must not contain any loops) so that it can be interpreted as a tree.

This function removes all vertices for which treebranchlabels gives a string more than level characters long.

Value

Object of the same kind as X.

Author(s)

\spatstatAuthors

See Also

treebranchlabels for calculating the branch labels.

deletebranch for removing entire branches. extractbranch for extracting entire branches.

linnet for creating networks.

Examples

  # make a simple tree
  m <- simplenet$m
  m[8,10] <- m[10,8] <- FALSE
  L <- linnet(vertices(simplenet), m)
  plot(L, main="")
  # compute branch labels 
  tb <- treebranchlabels(L, 1)
  tbc <- paste0("[", tb, "]")
  text(vertices(L), labels=tbc, cex=2)
  # prune tree 
  tp <- treeprune(L, root=1, 1)
  plot(tp, add=TRUE, col="blue", lwd=3)

spatstat.linnet documentation built on May 29, 2024, 4:07 a.m.