updateLabel {ape}R Documentation

Update Labels

Description

This function changes labels (names or rownames) giving two vectors (old and new). It is a generic function with several methods as described below.

Usage

updateLabel(x, old, new, ...)
## S3 method for class 'character'
updateLabel(x, old, new, exact = TRUE, ...)
## S3 method for class 'DNAbin'
updateLabel(x, old, new, exact = TRUE, ...)
## S3 method for class 'AAbin'
updateLabel(x, old, new, exact = TRUE, ...)
## S3 method for class 'phylo'
updateLabel(x, old, new, exact = TRUE, nodes = FALSE, ...)
## S3 method for class 'evonet'
updateLabel(x, old, new, exact = TRUE, nodes = FALSE, ...)
## S3 method for class 'data.frame'
updateLabel(x, old, new, exact = TRUE, ...)
## S3 method for class 'matrix'
updateLabel(x, old, new, exact = TRUE, ...)

Arguments

x

an object where to change the labels.

old, new

two vectors of mode character (must be of the same length).

exact

a logical value (see details).

nodes

a logical value specifying whether to also update the node labels of the tree or network.

...

further arguments passed to and from methods.

Details

This function can be used to change some of the labels (see examples) or all of them if their ordering is not sure.

If exact = TRUE (the default), the values in old are matched exactly with the labels; otherwise (exact = FALSE), the values in old are considered as regular expressions and searched in the labels with grep.

Value

an object of the same class than x.

Author(s)

Emmanuel Paradis

See Also

makeLabel, makeNodeLabel, mixedFontLabel, stripLabel, checkLabel

Examples

## Not run: 
## the tree by Nyakatura & Bininda-Emonds (2012, BMC Biology)
x <- "https://static-content.springer.com/esm/art"
y <- "3A10.1186"
z <- "2F1741-7007-10-12/MediaObjects/12915_2011_534_MOESM5_ESM.NEX"
## The commande below may not print correctly in HTML because of the
## percentage symbol; see the text or PDF help page.
url <- paste(x, y, z, sep = "
TC <- read.nexus(url)
tr <- TC$carnivoreST_bestEstimate
old <- c("Uncia_uncia", "Felis_manul", "Leopardus_jacobitus")
new <- c("Panthera_uncia", "Otocolobus_manul", "Leopardus_jacobita")
tr.updated <- updateLabel(tr, old, new)

## End(Not run)

tr <- rtree(6)
## the order of the labels are randomized by this function
old <- paste0("t", 1:6)
new <- paste0("x", 1:6)
updateLabel(tr, old, new)
tr

[Package ape version 5.5 Index]