If you have reasonably smooth spectral data, there are several functions available which do a good job of locating local maxima and minima (aka "peaks"). I like the tools in pastecs , but take a look at the following packages (in my rough order of choice) :