Rescale intensities to sum to a specified value
Source:R/AllGenerics.R
, R/rescale.R
rescale_total.Rd
Rescales intensities to sum to a specified value.
Usage
rescale_total(x, y, ...)
# S4 method for class 'numeric,numeric'
rescale_total(x, y, total = 1)
# S4 method for class 'ANY,missing'
rescale_total(x, total = 1)
Arguments
- x, y
A
numeric
vector. Ify
is missing, an attempt is made to interpretx
in a suitable way (seegrDevices::xy.coords()
).- ...
Currently not used.
- total
A legnth-one
numeric
vector specifying the output total. Defaults to 1, i.e. normalizes by total intensity.
Value
Returns a list
with two components x
and y
.
See also
Other normalization methods:
rescale_area()
,
rescale_range()
,
rescale_snv()
,
rescale_transform()
Examples
## gamma-ray spectrometry
data("BEGe")
## Subset from 2.75 to 200 keV
BEGe <- signal_select(BEGe, from = 3, to = 200)
## Plot spectrum
plot(BEGe, type = "l", xlab = "Energy (keV)", ylab = "Count")
## Normalize by area under the curve
BEGe_area <- rescale_area(BEGe)
plot(BEGe_area, type = "l", xlab = "Energy (keV)", ylab = "Count")
integrate_rectangle(BEGe)
#> [1] 147922.1
integrate_rectangle(BEGe_area)
#> [1] 1
## Rescale so that intensities sum to 1
BEGe_total <- rescale_total(BEGe, total = 1)
plot(BEGe_total, type = "l", xlab = "Energy (keV)", ylab = "Count")
## Rescale intensities to 0-1
BEGe_range <- rescale_range(BEGe, min = 0, max = 1)
plot(BEGe_range, type = "l", xlab = "Energy (keV)", ylab = "Count")