correlate,Chromatogram,Chromatogram-method {xcms} | R Documentation |
Correlate intensities of two chromatograms with each other. If the two
Chromatogram
objects have different retention times they are first
aligned to match data points in the first to data points in the second
chromatogram. See help on alignRt
in MSnbase::Chromatogram()
for more
details.
If correlate
is called on a single MChromatograms()
object a pairwise
correlation of each chromatogram with each other is performed and a matrix
with the correlation coefficients is returned.
Note that the correlation of two chromatograms depends also on their order,
e.g. correlate(chr1, chr2)
might not be identical to
correlate(chr2, chr1)
. The lower and upper triangular part of the
correlation matrix might thus be different.
For correlating elements of a MChromatograms
with each other it might be
sufficient to calculate just the upper triangular matrix. This can be done
by setting full = FALSE
.
## S4 method for signature 'Chromatogram,Chromatogram' correlate( x, y, use = "pairwise.complete.obs", method = c("pearson", "kendall", "spearman"), align = c("closest", "approx"), ... ) ## S4 method for signature 'MChromatograms,missing' correlate( x, y = NULL, use = "pairwise.complete.obs", method = c("pearson", "kendall", "spearman"), align = c("closest", "approx"), full = TRUE, ... ) ## S4 method for signature 'MChromatograms,MChromatograms' correlate( x, y = NULL, use = "pairwise.complete.obs", method = c("pearson", "kendall", "spearman"), align = c("closest", "approx"), ... )
x |
|
y |
|
use |
|
method |
|
align |
|
... |
optional parameters passed along to the |
full |
|
numeric(1)
or matrix
(if called on MChromatograms
objects)
with the correlation coefficient. If a matrix
is returned, the rows
represent the chromatograms in x
and the columns the chromatograms in
y
.
Michael Witting, Johannes Rainer
chr1 <- Chromatogram(rtime = 1:10 + rnorm(n = 10, sd = 0.3), intensity = c(5, 29, 50, NA, 100, 12, 3, 4, 1, 3)) chr2 <- Chromatogram(rtime = 1:10 + rnorm(n = 10, sd = 0.3), intensity = c(80, 50, 20, 10, 9, 4, 3, 4, 1, 3)) chr3 <- Chromatogram(rtime = 3:9 + rnorm(7, sd = 0.3), intensity = c(53, 80, 130, 15, 5, 3, 2)) chrs <- MChromatograms(list(chr1, chr2, chr3)) correlate(chr1, chr2) correlate(chr2, chr1) ## To only intensities larger than 5. correlate(chr1, chr2, useIntensitiesAbove = 5) correlate(chrs, chrs)