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.
makeLabel(x, ...)
# S3 method for character
makeLabel(x, len = 99, space = "_", make.unique = TRUE,
illegal = "():;,[]", quote = FALSE, ...)
# S3 method for phylo
makeLabel(x, tips = TRUE, nodes = TRUE, ...)
# S3 method for multiPhylo
makeLabel(x, tips = TRUE, nodes = TRUE, ...)
# S3 method for DNAbin
makeLabel(x, ...)
An object of the appropriate class.
a vector of mode character or an object for which labels are to be changed.
the maximum length of the labels: those longer than `len' will be truncated.
the character to replace spaces, tabulations, and linebreaks.
a logical specifying whether duplicate labels
should be made unique by appending numerals; TRUE
by
default.
a string specifying the characters to be deleted.
a logical specifying whether to quote the labels;
FALSE
by default.
a logical specifying whether tip labels are to be
modified; TRUE
by default.
a logical specifying whether node labels are to be
modified; TRUE
by default.
further arguments to be passed to or from other methods.
Emmanuel Paradis
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.
makeNodeLabel
, make.unique
,
make.names
, abbreviate
,
mixedFontLabel
, label2table
,
updateLabel
, checkLabel
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)
Run the code above in your browser using DataLab