Relaxed Value Matching
match.closest
returns a vector of the positions of (first) matches
its first arguments in its second. In contrast to the similar
match
it just accept numeric
arguments but
has an additional tolerance
argument that allows relaxed
matching.
match.closest(x, table, tolerance = Inf, nomatch = NA_integer_)
x |
|
table |
|
tolerance |
|
nomatch |
|
An integer
vector of the same length as x
giving the
closest position in table
of the first match or nomatch
if
there is no match.
library("MALDIquant") match.closest(c(1.1, 1.4, 9.8), 1:10) # [1] 1 1 10 match.closest(c(1.1, 1.4, 9.8), 1:10, tolerance=0.25) # [1] 1 NA 10 match.closest(c(1.1, 1.4, 9.8), 1:10, tolerance=0.25, nomatch=0) # [1] 1 0 10 ## this function is most useful if you want to subset an intensityMatrix ## by a few (reference) peaks ## create an example intensityMatrix im <- matrix(1:10, nrow=2, dimnames=list(NULL, 1:5)) attr(im, "mass") <- 1:5 im # 1 2 3 4 5 # [1,] 1 3 5 7 9 # [2,] 2 4 6 8 10 # attr(,"mass") # [1] 1 2 3 4 5 ## reference peaks ref <- c(2.2, 4.8) im[, match.closest(ref, attr(im, "mass"), tolerance=0.25, nomatch=0)] # 2 5 # [1,] 3 9 # [2,] 4 10
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.