R: Prune Tree to Given Level

treeprune {spatstat} | R 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)

Adrian Baddeley Adrian.Baddeley@curtin.edu.au, Rolf Turner r.turner@auckland.ac.nz and Ege Rubak rubak@math.aau.dk

### 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)

[Package spatstat version 1.54-0 Index]