This function automates replacing unquantified values in residue time and depth series. For time series, the function performs part of the residue processing proposed in the FOCUS kinetics guidance for parent compounds and metabolites. For two-dimensional residue series over time and depth, it automates the proposal of Boesten et al (2015).

set_nd_nq(res_raw, lod, loq = NA, time_zero_presence = FALSE)

set_nd_nq_focus(
res_raw,
lod,
loq = NA,
set_first_sample_nd = TRUE,
first_sample_nd_value = 0,
ignore_below_loq_after_first_nd = TRUE
)

## Arguments

res_raw Character vector of a residue time series, or matrix of residue values with rows representing depth profiles for a specific sampling time, and columns representing time series of residues at the same depth. Values below the limit of detection (lod) have to be coded as "nd", values between the limit of detection and the limit of quantification, if any, have to be coded as "nq". Samples not analysed have to be coded as "na". All values that are not "na", "nd" or "nq" have to be coercible to numeric Limit of detection (numeric) Limit of quantification(numeric). Must be specified if the FOCUS rule to stop after the first non-detection is to be applied Do we assume that residues occur at time zero? This only affects samples from the first sampling time that have been reported as "nd" (not detected). Should the first sample be set to "first_sample_nd_value" in case it is a non-detection? Value to be used for the first sample if it is a non-detection Should we ignore values below the LOQ after the first non-detection that occurs after the quantified values?

## Value

A numeric vector, if a vector was supplied, or a numeric matrix otherwise

## Functions

• set_nd_nq_focus: Set non-detects in residue time series according to FOCUS rules

## References

Boesten, J. J. T. I., van der Linden, A. M. A., Beltman, W. H. J. and Pol, J. W. (2015). Leaching of plant protection products and their transformation products; Proposals for improving the assessment of leaching to groundwater in the Netherlands — Version 2. Alterra report 2630, Alterra Wageningen UR (University & Research centre)

FOCUS (2014) Generic Guidance for Estimating Persistence and Degradation Kinetics from Environmental Fate Studies on Pesticides in EU Registration, Version 1.1, 18 December 2014, p. 251

## Examples

# FOCUS (2014) p. 75/76 and 131/132
parent_1 <- c(.12, .09, .05, .03, "nd", "nd", "nd", "nd", "nd", "nd")
set_nd_nq(parent_1, 0.02)#>  [1] 0.12 0.09 0.05 0.03 0.01   NA   NA   NA   NA   NAparent_2 <- c(.12, .09, .05, .03, "nd", "nd", .03, "nd", "nd", "nd")
set_nd_nq(parent_2, 0.02)#>  [1] 0.12 0.09 0.05 0.03 0.01 0.01 0.03 0.01   NA   NAset_nd_nq_focus(parent_2, 0.02, loq = 0.05)#>  [1] 0.12 0.09 0.05 0.03 0.01   NA   NA   NA   NA   NAparent_3 <- c(.12, .09, .05, .03, "nd", "nd", .06, "nd", "nd", "nd")
set_nd_nq(parent_3, 0.02)#>  [1] 0.12 0.09 0.05 0.03 0.01 0.01 0.06 0.01   NA   NAset_nd_nq_focus(parent_3, 0.02, loq = 0.05)#>  [1] 0.12 0.09 0.05 0.03 0.01 0.01 0.06 0.01   NA   NAmetabolite <- c("nd", "nd", "nd", 0.03, 0.06, 0.10, 0.11, 0.10, 0.09, 0.05, 0.03, "nd", "nd")
set_nd_nq(metabolite, 0.02)#>  [1]   NA   NA 0.01 0.03 0.06 0.10 0.11 0.10 0.09 0.05 0.03 0.01   NAset_nd_nq_focus(metabolite, 0.02, 0.05)#>  [1] 0.00   NA 0.01 0.03 0.06 0.10 0.11 0.10 0.09 0.05 0.03 0.01   NA#
# Boesten et al. (2015), p. 57/58
table_8 <- matrix(
c(10, 10, rep("nd", 4),
10, 10, rep("nq", 2), rep("nd", 2),
10, 10, 10, "nq", "nd", "nd",
"nq", 10, "nq", rep("nd", 3),
"nd", "nq", "nq", rep("nd", 3),
rep("nd", 6), rep("nd", 6)),
ncol = 6, byrow = TRUE)
set_nd_nq(table_8, 0.5, 1.5, time_zero_presence = TRUE)#>       [,1]  [,2]  [,3] [,4] [,5] [,6]
#> [1,] 10.00 10.00  0.25 0.25   NA   NA
#> [2,] 10.00 10.00  1.00 1.00 0.25   NA
#> [3,] 10.00 10.00 10.00 1.00 0.25   NA
#> [4,]  1.00 10.00  1.00 0.25   NA   NA
#> [5,]  0.25  1.00  1.00 0.25   NA   NA
#> [6,]    NA  0.25  0.25   NA   NA   NA
#> [7,]    NA    NA    NA   NA   NA   NAtable_10 <- matrix(
c(10, 10, rep("nd", 4),
10, 10, rep("nd", 4),
10, 10, 10, rep("nd", 3),
"nd", 10, rep("nd", 4),
rep("nd", 18)),
ncol = 6, byrow = TRUE)
set_nd_nq(table_10, 0.5, time_zero_presence = TRUE)#>       [,1]  [,2]  [,3] [,4] [,5] [,6]
#> [1,] 10.00 10.00  0.25   NA   NA   NA
#> [2,] 10.00 10.00  0.25   NA   NA   NA
#> [3,] 10.00 10.00 10.00 0.25   NA   NA
#> [4,]  0.25 10.00  0.25   NA   NA   NA
#> [5,]    NA  0.25    NA   NA   NA   NA
#> [6,]    NA    NA    NA   NA   NA   NA
#> [7,]    NA    NA    NA   NA   NA   NA