This function tries to identify cycles in which the pressure has dropped
fast. It first disables all the cycles above or below certain thresholds
(min
, max
), and then calculates whether the next cycle has dropped by
more than fac
times either the initial (relative to = "init"
, default)
or the previous (relative_to = "prev"
) cycle.
find_bad_cycles(
.data,
...,
min,
max,
fac,
v44 = "v44.mV",
cycle = "cycle",
relative_to = "init",
quiet = NULL
)
A tibble, resulting from
isoreader::iso_get_raw_data()
.
These dots are for future extensions and must be empty.
Minimum intensity level for good cycles. Defaults to 1,500 mV.
Maximum intensity level for good cycles. Defaults to 50,000 mV.
Factor for how much larger the current drop should be than the
one specified in relative_to
.
Column name of mass 44.
Column name of the column with the measurement cycle number.
cycle Drop detection occurs relative to either the first cycle ("init", default) or to the previous cycle ("prev").
If TRUE
, print info messages. If NULL
(default) listens to options(clumpedr.quiet)
Same as .data
but with some new columns that allow us to disable
certain cycles/whole samples.
The drop in intensity can be defined relative to the first change in intensity (default), or to the previous cycle.
Note that the min, max, and fac input parameters must be columns in the input data, so that reproducibility is guaranteed.
# get the raw data from the example dataset
isoreader::iso_get_raw_data(standards, include_file_info = "Analysis") |>
# add new columns with criteria
dplyr::mutate(dis_min = 500, dis_max = 50000, dis_fac = 3) |>
find_bad_cycles(min = "dis_min", max = "dis_max",
fac = "dis_fac", relative_to = "init")
#> Info: aggregating raw data from 27 data file(s), including file info '"Analysis"'
#> Info: found 0 out of 27 acquisitions with a drop in pressure of mass 44.
#> # A tibble: 2,187 × 23
#> file_id Analysis type cycle v44.mV v45.mV v46.mV v47.mV v48.mV v49.mV v54.mV
#> <chr> <chr> <chr> <int> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 180814… 4841 stan… 0 16647. 19675. 23072. 25664. 2124. -268. -270.
#> 2 180814… 4841 stan… 1 16406. 19391. 22738. 25293. 2094. -264. -265.
#> 3 180814… 4841 stan… 2 16153. 19091. 22387. 24899. 2062. -259. -261.
#> 4 180814… 4841 stan… 3 15891. 18782. 22024. 24502. 2029. -255. -257.
#> 5 180814… 4841 stan… 4 15631. 18476. 21665. 24100. 1997. -250. -252.
#> 6 180814… 4841 stan… 5 15383. 18182. 21321. 23717. 1964. -246. -249.
#> 7 180814… 4841 stan… 6 15135. 17889. 20978. 23336. 1934. -241. -244.
#> 8 180814… 4841 stan… 7 14892. 17603. 20641. 22959. 1903. -237. -240.
#> 9 180814… 4841 stan… 8 14656. 17323. 20313. 22600. 1873. -234. -236.
#> 10 180814… 4841 stan… 9 14422. 17047. 19990. 22234. 1844. -229. -232.
#> # ℹ 2,177 more rows
#> # ℹ 12 more variables: dis_min <dbl>, dis_max <dbl>, dis_fac <dbl>,
#> # outlier_cycle_low <lgl>, outlier_cycle_high <lgl>, cycle_diff <dbl>,
#> # first_diff_fac <dbl>, cycle_drop <lgl>, cycle_has_drop <lgl>,
#> # cycle_drop_num <int>, outlier_cycle_drop <lgl>, outlier_cycle <lgl>