# match.closest: Relaxed Value Matching In MALDIquant: Quantitative Analysis of Mass Spectrometry Data

 match.closest R Documentation

## Relaxed Value Matching

### Description

`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.

### Usage

``````match.closest(x, table, tolerance = Inf, nomatch = NA_integer_)
``````

### Arguments

 `x` `numeric`, the values to be matched. `table` `numeric`, the values to be matched against. In contrast to `match` `table` has to be sorted in increasing order. `tolerance` `numeric`, accepted tolerance. Use `Inf` to match without restrictions. Could be of length one or the same length as `table`. `nomatch` `numeric`, if the difference between the value in `x` and `table` is larger than `tolerance` `nomatch` is returned. Has to be of length one.

### Value

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.

`match`

### Examples

``````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

``````

MALDIquant documentation built on May 29, 2024, 6:11 a.m.