check4Gaps {ChemoSpecUtils}R Documentation

Check for Discontinuities (Gaps) in a Vector & Optionally Make a Plot


The basic procedure is to compare x[n + 1] - x[n] for successive values of n. When this value jumps, there is a gap which is flagged. beg.indx and end.indx will always be contiguous as indices must be; it is the x values that jump or have the gap. The indices are provided as they are more convenient in some programming contexts. If not assigned, the result appears at the console.


check4Gaps(x, y = NULL, silent = FALSE, tol = NULL, ...)



A numeric vector to be checked for gaps.


An optional vector of y-values which correspond to the x values. Only used in ChemoSpec. If provided, a plot will be made in the style of a Spectra object showing the gap(s).


Logical indicating a "no gap" message should not be reported to the console. Important because check4Gaps is called iteratively by other functions.


A number indicating the tolerance for checking to see if the step between successive x values are the same. Depending upon how the x values are stored and rounded, you may need to change the value of tol to avoid flagging trivial "gaps". If NULL, a value is chosen which is just above the median difference between x values.


Other parameters to be passed to the plot routines if y is provided, e.g. xlim.


A data frame giving the data chunks found, with one chunk per row. Also a plot if y is provided. In the event there are no gaps found, a data frame with one row is returned. The data frame has columns as follows:


The first frequency value in a given data chunk.


The last frequency value in a given data chunk.


The length (in frequency units) of the data chunk.


The index of the first frequency value in the data chunk.


The index of the last frequency value in the data chunk.


Bryan A. Hanson, DePauw University.

See Also

sumSpectra which make extensive use of this function.


x <- seq(0, 2 * pi, 0.1)
y <- sin(x)
remove <- c(8:11, 40:45)
x <- x[-remove]
y <- y[-remove]
gaps <- check4Gaps(x, tol = 0.11) # tol just larger than orig spacing
gaps <- check4Gaps(x, y, tol = 0.11) # show a plot if y given

[Package ChemoSpecUtils version 0.4.96 Index]