makeLabel: Label Management

View source: R/makeLabel.R

makeLabelR Documentation

Label Management

Description

This is a generic function with methods for character vectors, trees of class "phylo", lists of trees of class "multiPhylo", and DNA sequences of class "DNAbin". All options for the class character may be used in the other methods.

Usage

makeLabel(x, ...)
## S3 method for class 'character'
makeLabel(x, len = 99, space = "_", make.unique = TRUE,
          illegal = "():;,[]", quote = FALSE, ...)
## S3 method for class 'phylo'
makeLabel(x, tips = TRUE, nodes = TRUE, ...)
## S3 method for class 'multiPhylo'
makeLabel(x, tips = TRUE, nodes = TRUE, ...)
## S3 method for class 'DNAbin'
makeLabel(x, ...)

Arguments

x

a vector of mode character or an object for which labels are to be changed.

len

the maximum length of the labels: those longer than ‘len’ will be truncated.

space

the character to replace spaces, tabulations, and linebreaks.

make.unique

a logical specifying whether duplicate labels should be made unique by appending numerals; TRUE by default.

illegal

a string specifying the characters to be deleted.

quote

a logical specifying whether to quote the labels; FALSE by default.

tips

a logical specifying whether tip labels are to be modified; TRUE by default.

nodes

a logical specifying whether node labels are to be modified; TRUE by default.

...

further arguments to be passed to or from other methods.

Details

The option make.unique does not work exactly in the same way then the function of the same name: numbers are suffixed to all labels that are identical (without separator). See the examples.

If there are 10–99 identical labels, the labels returned are "xxx01", "xxx02", etc, or "xxx001", "xxx002", etc, if they are 100–999, and so on. The number of digits added preserves the option ‘len’.

The default for ‘len’ makes labels short enough to be read by PhyML. Clustal accepts labels up to 30 character long.

Value

An object of the appropriate class.

Note

The current version does not perform well when trying to make very short unique labels (e.g., less than 5 character long).

Author(s)

Emmanuel Paradis

See Also

makeNodeLabel, make.unique, make.names, abbreviate, mixedFontLabel, label2table, updateLabel, checkLabel

Examples

x <- rep("a", 3)
makeLabel(x)
make.unique(x) # <- from R's base
x <- rep("aaaaa", 2)
makeLabel(x, len = 3) # made unique and of length 3
makeLabel(x, len = 3, make.unique = FALSE)

ape documentation built on May 29, 2024, 10:50 a.m.