diff options
Diffstat (limited to 'R/max_twa_parent.R')
-rw-r--r-- | R/max_twa_parent.R | 70 |
1 files changed, 52 insertions, 18 deletions
diff --git a/R/max_twa_parent.R b/R/max_twa_parent.R index 5129e369..ef3c0ada 100644 --- a/R/max_twa_parent.R +++ b/R/max_twa_parent.R @@ -1,21 +1,43 @@ -# Copyright (C) 2016-2019 Johannes Ranke -# Contact: jranke@uni-bremen.de - -# This file is part of the R package mkin - -# mkin is free software: you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation, either version 3 of the License, or (at your option) any later -# version. - -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -# details. - -# You should have received a copy of the GNU General Public License along with -# this program. If not, see <http://www.gnu.org/licenses/> - +#' Function to calculate maximum time weighted average concentrations from +#' kinetic models fitted with mkinfit +#' +#' This function calculates maximum moving window time weighted average +#' concentrations (TWAs) for kinetic models fitted with \code{\link{mkinfit}}. +#' Currently, only calculations for the parent are implemented for the SFO, +#' FOMC, DFOP and HS models, using the analytical formulas given in the PEC +#' soil section of the FOCUS guidance. +#' +#' @aliases max_twa_parent max_twa_sfo max_twa_fomc max_twa_dfop max_twa_hs +#' @param fit An object of class \code{\link{mkinfit}}. +#' @param windows The width of the time windows for which the TWAs should be +#' calculated. +#' @param M0 The initial concentration for which the maximum time weighted +#' average over the decline curve should be calculated. The default is to use +#' a value of 1, which means that a relative maximum time weighted average +#' factor (f_twa) is calculated. +#' @param k The rate constant in the case of SFO kinetics. +#' @param t The width of the time window. +#' @param alpha Parameter of the FOMC model. +#' @param beta Parameter of the FOMC model. +#' @param k1 The first rate constant of the DFOP or the HS kinetics. +#' @param k2 The second rate constant of the DFOP or the HS kinetics. +#' @param g Parameter of the DFOP model. +#' @param tb Parameter of the HS model. +#' @return For \code{max_twa_parent}, a numeric vector, named using the +#' \code{windows} argument. For the other functions, a numeric vector of +#' length one (also known as 'a number'). +#' @author Johannes Ranke +#' @references FOCUS (2006) \dQuote{Guidance Document on Estimating Persistence +#' and Degradation Kinetics from Environmental Fate Studies on Pesticides in +#' EU Registration} Report of the FOCUS Work Group on Degradation Kinetics, +#' EC Document Reference Sanco/10058/2005 version 2.0, 434 pp, +#' \url{http://esdac.jrc.ec.europa.eu/projects/degradation-kinetics} +#' @examples +#' +#' fit <- mkinfit("FOMC", FOCUS_2006_C, quiet = TRUE) +#' max_twa_parent(fit, c(7, 21)) +#' +#' @export max_twa_parent <- function(fit, windows) { parms.all <- c(fit$bparms.optim, fit$bparms.fixed) obs_vars <- fit$obs_vars @@ -74,15 +96,27 @@ max_twa_parent <- function(fit, windows) { names(res) <- windows return(res) } + +#' @rdname max_twa_parent +#' @export max_twa_sfo <- function(M0 = 1, k, t) { M0 * (1 - exp(- k * t)) / (k * t) } + +#' @rdname max_twa_parent +#' @export max_twa_fomc <- function(M0 = 1, alpha, beta, t) { M0 * (beta)/(t * (1 - alpha)) * ((t/beta + 1)^(1 - alpha) - 1) } + +#' @rdname max_twa_parent +#' @export max_twa_dfop <- function(M0 = 1, k1, k2, g, t) { M0/t * ((g/k1) * (1 - exp(- k1 * t)) + ((1 - g)/k2) * (1 - exp(- k2 * t))) } + +#' @rdname max_twa_parent +#' @export max_twa_hs <- function(M0 = 1, k1, k2, tb, t) { (M0 / t) * ( (1/k1) * (1 - exp(- k1 * tb)) + |