These functions import data into a
Spectra object. They use
read.table to read files so they are
very flexible in regard to file formatting. Be sure to see the ...
argument below for important details you need to provide.
1 2 3 4 5 6 7 8 9 10 11
files2SpectraObject(gr.crit = NULL, gr.cols = c("auto"), freq.unit = "no frequency unit provided", int.unit = "no intensity unit provided", descrip = "no description provided", fileExt = "\\.(csv|CSV)$", out.file = "mydata", debug = FALSE, ...) matrix2SpectraObject(gr.crit = NULL, gr.cols = c("auto"), freq.unit = "no frequency unit provided", int.unit = "no intensity unit provided", descrip = "no description provided", in.file = NULL, out.file = "mydata", chk = TRUE, ...)
Group Criteria. A vector of character strings which will be
searched for among the file names in order to assign an individual
spectrum/sample to group membership. Warnings are issued if there are file
names that don't match entries in
Group Colors. Either the word "auto", in which case colors
will be automatically assigned, or a vector of acceptable color names with
the same length as
A character string giving the units of the x-axis (frequency or wavelength).
A character string giving the units of the y-axis (some sort of intensity).
A character string describing the data set that will be stored. This string is used in some plots so it is recommended that its length be less than about 40 characters.
A character string giving the extension of the files to be
A file name. The
completed object of S3 class
Logical. Applies to
Arguments to be passed to
Character. Applies to
Logical. Applies to
The matching of
gr.crit against the sample file names is done one at
a time, in order. This means that the entries in
gr.crit must be
mutually exclusive. For example, if you have files with names like
"Control_1" and "Sample_1" and use
gr.crit = c("Control", "Sample")
groups will be assigned as you would expect. But, if you have file names
like "Control_1_Shade" and "Sample_1_Sun" you can't use
c("Control", "Sample", "Sun", "Shade") because each criteria is grepped in
order, and the "Sun/Shade" phrases, being last, will form the basis for your
groups. Because this is a grep process, you can get around this by using
regular expressions in your
gr.crit argument to specify the desired
groups in a mutually exclusive manner. In this second example, you could
gr.crit = c("Control(.*)Sun", "Control(.*)Shade", "Sample(.*)Sun",
"Sample(.*)Shade") to have your groups assigned based upon both phrases in
the file names.
The linking of groups with colors is handled by
Samples whose names are not matched using
gr.crit are still
incorporated into the
Spectra object, but they are not
assigned a group or color. Therefore they don't plot, but they do take up space in a
plot! A warning is issued in these cases, since one wouldn't normally want
a spectrum to be orphaned this way.
fileExt contains any of
"JDX", then the files will be processed by
debug = TRUE for this format, as there are many
options for JCAMP, and many are untested. See
A object of class
Spectra. An unnamed object
of S3 class
Spectra is also written to
read it back into the workspace, use
new.name <- loadObject(out.file)
loadObject is package R.utils).
files2SpectraObject: Import data from separate csv files
matrix2SpectraObject: Import a matrix of data
files2SpectraObject acts on all files in the current working
directory with the specified
fileExt. The first column should
contain the frequency values and the second column the intensity values. The
files may have a header or not (supply
header = TRUE/FALSE as
necessary). The frequency column is assumed to be the same in all files.
This function takes a csv-like file, containing frequencies in the first
column, and samples in additional columns, and processes it into a
Spectra object. The file MUST have a header row which includes
the sample names. There need not be a header for the first (frequency)
Bryan A. Hanson, DePauw University.
1 2 3 4 5 6 7 8 9 10
td <- tempdir() ed <- system.file("extdata", package = "ChemoSpec") tf <- "PCRF.jdx" chk <- file.copy(from = file.path(ed, tf), to = file.path(td, tf), overwrite = TRUE) setwd(td) spec <- files2SpectraObject(gr.crit = "PCRF", freq.unit = "ppm", int.unit = "intensity", descrip = "test import", fileExt = ".jdx") sumSpectra(spec) plotSpectra(spec, lab.pos = 3.5, main = "Reduced Fat Potato Chip")