splitSpectraGroups {ChemoSpec} | R Documentation |
Create New Groups from an Existing Spectra Object
Description
This function takes an existing Spectra
object and uses your
instructions to split the existing spectra$groups
into new groups.
The new groups are added to the existing Spectra
object (a
list) as new elements. This allows one to use different combinations of
factors than were originally encoded in the Spectra
object.
The option also exists to replace the color scheme with one which
corresponds to the new factors.
Usage
splitSpectraGroups(spectra, inst = NULL, rep.cols = NULL, ...)
Arguments
spectra |
An object of S3 class |
inst |
A list giving the name of the new element to be created from a set of target strings given in a character vector. See the example for the syntax. |
rep.cols |
Optional. A vector giving new colors which correspond to
the levels of |
... |
Additional arguments to be passed downstream. Currently not used. |
Details
The items in the character vector are grepped among the existing
spectra$groups
entries; when found, they are placed in a new element
of Spectra
. In the example, all spectra$groups
entries
containing "G" are coded as "G" in a new element called spectra$env
,
and any entries containing "T" are handled likewise. This amounts to a sort
of recoding of factors (the example demonstrates this). Every entry in
spectra$groups
should be matched by one of the entries in the
character vector. If not, you will get NA
entries. Also, if the targets
in the character vector are not unique, your results will reflect the order
of the levels. Since this is a grep process, you can pass any valid grep
string as the target.
If rep.cols
is provided, these colors are mapped one for one onto the
levels of the the first element of inst
. This provides a different
means of changing the sample color encoding than conColScheme
.
Value
An object of S3 class Spectra
, modified to have
additional elements as specified by inst
.
Author(s)
Bryan A. Hanson (DePauw University).
See Also
conColScheme
Additional documentation at https://bryanhanson.github.io/ChemoSpec/
Examples
data(metMUD2)
levels(metMUD2$groups) # original factor encoding
# Split those original levels into 2 new ones (re-code them)
new.grps <- list(geneBb = c("B", "b"), geneCc = c("C", "c"))
res <- splitSpectraGroups(metMUD2, new.grps)
str(res) # note two new elements, "geneBb" and "geneCc"
sumSpectra(res) # reports on extra elements
# Note that if you want to use a newly created group in
# plotScores and other functions to drive the color scheme
# and labeling, you'll have to update the groups element:
res$groups <- as.factor(paste(res$geneBb, res$geneCc, sep = ""))