diff options
-rw-r--r-- | R/dimethenamid_2018.R | 21 | ||||
-rw-r--r-- | R/f_time_norm_focus.R | 24 | ||||
-rw-r--r-- | R/mkinds.R | 3 | ||||
-rw-r--r-- | build.log | 1 | ||||
-rw-r--r-- | data/D24_2014.rda | bin | 5805 -> 5895 bytes | |||
-rw-r--r-- | data/dimethenamid_2018.rda | bin | 0 -> 8231 bytes | |||
-rw-r--r-- | inst/dataset_generation/D24_2014.R | 4 | ||||
-rw-r--r-- | inst/dataset_generation/dimethenamid_2018.R | 153 | ||||
-rw-r--r-- | man/dimethenamid_2018.Rd | 35 | ||||
-rw-r--r-- | man/f_time_norm_focus.Rd | 6 | ||||
-rw-r--r-- | test.log | 16 | ||||
-rw-r--r-- | tests/testthat/experimental_data_for_UBA_2019_mkindsg.txt | 2 | ||||
-rw-r--r-- | tests/testthat/test_f_time_norm.R | 9 | ||||
-rw-r--r-- | tests/testthat/test_mixed.R | 2 |
14 files changed, 254 insertions, 22 deletions
diff --git a/R/dimethenamid_2018.R b/R/dimethenamid_2018.R new file mode 100644 index 00000000..189da618 --- /dev/null +++ b/R/dimethenamid_2018.R @@ -0,0 +1,21 @@ +#' Aerobic soil degradation data on dimethenamid and dimethenamid-P from the EU assessment in 2018 +#' +#' The datasets were extracted from the active substance evaluation dossier +#' published by EFSA. Kinetic evaluations shown for these datasets are intended +#' to illustrate and advance kinetic modelling. The fact that these data and +#' some results are shown here does not imply a license to use them in the +#' context of pesticide registrations, as the use of the data may be +#' constrained by data protection regulations. +#' +#' The R code used to create this data object is installed with this package +#' in the 'dataset_generation' directory. In the code, page numbers are given for +#' specific pieces of information in the comments. +#' +#' @format An [mkindsg] object grouping eight datasets with some meta information +#' @source Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria (2018) +#' Renewal Assessment Report Dimethenamid-P Volume 3 - B.8 Environmental fate and behaviour +#' Rev. 2 - November 2017 +#' \url{http://registerofquestions.efsa.europa.eu/roqFrontend/outputLoader?output=ON-5211} +#' @examples +#' print(dimethenamid_2018) +"dimethenamid_2018" diff --git a/R/f_time_norm_focus.R b/R/f_time_norm_focus.R index 66df527e..e7c6f22e 100644 --- a/R/f_time_norm_focus.R +++ b/R/f_time_norm_focus.R @@ -11,7 +11,9 @@ utils::globalVariables("D24_2014") #' @param field_moisture Numeric vector of moisture contents at field capacity #' (pF2) in \\% w/w #' @param study_moisture_ref_source Source for the reference value -#' used to calculate the study moisture +#' used to calculate the study moisture. If 'auto', preference is given +#' to a reference moisture given in the meta information, otherwise +#' the focus soil moisture for the soil class is used #' @param Q10 The Q10 value used for temperature normalisation #' @param walker The Walker exponent used for moisture normalisation #' @param f_na The factor to use for NA values. If set to NA, only factors @@ -65,7 +67,7 @@ f_time_norm_focus.numeric <- function(object, #' @rdname f_time_norm_focus #' @export f_time_norm_focus.mkindsg <- function(object, - study_moisture_ref_source = c("meta", "focus"), + study_moisture_ref_source = c("auto", "meta", "focus"), Q10 = 2.58, walker = 0.7, f_na = NA, ...) { study_moisture_ref_source <- match.arg(study_moisture_ref_source) @@ -79,11 +81,19 @@ f_time_norm_focus.mkindsg <- function(object, meta$field_moisture) } - if (study_moisture_ref_source == "meta") { - study_moisture_ref <- meta$study_moisture_ref + study_moisture_ref_focus <- + focus_soil_moisture[as.matrix(meta[c("usda_soil_type", "study_moisture_ref_type")])] + + if (study_moisture_ref_source == "auto") { + study_moisture_ref <- ifelse (is.na(meta$study_ref_moisture), + study_moisture_ref_focus, + meta$study_ref_moisture) } else { - study_moisture_ref <- - focus_soil_moisture[as.matrix(meta[c("usda_soil_type", "study_moisture_ref_type")])] + if (study_moisture_ref_source == "meta") { + study_moisture_ref <- meta$study_moisture_ref + } else { + study_moisture_ref <- study_moisture_ref_focus + } } if ("study_moisture" %in% names(meta)) { @@ -99,5 +109,5 @@ f_time_norm_focus.mkindsg <- function(object, Q10 = Q10, walker = walker, f_na = f_na) cat("$time_norm was set to\n") print(object$f_time_norm) - return(object$f_time_norm) + invisible(object$f_time_norm) } @@ -140,6 +140,7 @@ mkindsg <- R6Class("mkindsg", self$f_time_norm <- f_time_norm if (!missing(meta)) { + rownames(meta) <- lapply(ds, function(x) x$title) self$meta <- meta } } @@ -157,7 +158,7 @@ mkindsg <- R6Class("mkindsg", print.mkindsg <- function(x, data = FALSE, verbose = data, ...) { cat("<mkindsg> holding", length(x$ds), "mkinds objects\n") cat("Title $title: ", x$title, "\n") - cat("Occurrene of observed compounds $observed_n:\n") + cat("Occurrence of observed compounds $observed_n:\n") print(x$observed_n) if (any(x$f_time_norm != 1)) { cat("Time normalisation factors $f_time_norm:\n") @@ -5,6 +5,5 @@ * creating vignettes ... OK * checking for LF line-endings in source and make files and shell scripts * checking for empty or unneeded directories -Removed empty directory ‘mkin/tests/testthat/_snaps’ * building ‘mkin_0.9.50.4.tar.gz’ diff --git a/data/D24_2014.rda b/data/D24_2014.rda Binary files differindex ef796e4d..bdfc5a9c 100644 --- a/data/D24_2014.rda +++ b/data/D24_2014.rda diff --git a/data/dimethenamid_2018.rda b/data/dimethenamid_2018.rda Binary files differnew file mode 100644 index 00000000..dd3d934b --- /dev/null +++ b/data/dimethenamid_2018.rda diff --git a/inst/dataset_generation/D24_2014.R b/inst/dataset_generation/D24_2014.R index 435be4a6..46d9c533 100644 --- a/inst/dataset_generation/D24_2014.R +++ b/inst/dataset_generation/D24_2014.R @@ -70,4 +70,6 @@ D24_2014 <- mkindsg$new( temperature = c(25, 20, 20, 20, 20) ) ) -save(D24_2014, file = "../../data/D24_2014.rda", version = 2) +f_time_norm_focus(D24_2014, study_moisture_ref_source = "focus", f_na = 1) + +save(D24_2014, file = "data/D24_2014.rda", version = 2) diff --git a/inst/dataset_generation/dimethenamid_2018.R b/inst/dataset_generation/dimethenamid_2018.R new file mode 100644 index 00000000..34a9dad1 --- /dev/null +++ b/inst/dataset_generation/dimethenamid_2018.R @@ -0,0 +1,153 @@ +# From the RAR 2018, see the help file for dimethenamid_2018 +# Metabolite residues for time zero were added to the parent value (Wendt 1997) +library(mkin) +dimethenamid_2018 <- mkindsg$new( + title = "Aerobic soil degradation data on dimethenamid-P from the EU assessment in 2018", + ds = list( + mkinds$new("Calke", # p. 27 + mkin_wide_to_long( + data.frame( + t = c(0, 0, 14, 30, 59, 120, 120), + DMTAP = c(95.8, 98.7, 60.5, 39.1, 15.2, 4.8, 4.6), + M23 = c(NA, NA, 4.1, 5.3, 6.0, 4.3, 4.1), + M27 = c(NA, NA, 1.5, 2.4, 3.2, 3.8, 3.7), + M31 = c(NA, NA, 2.0, 2.1, 2.2, 1.8, 2.1) + ) + ) + ), + mkinds$new("Borstel 1", # p. 22 + mkin_wide_to_long( + data.frame( + t = c(0, 28, 58, 89, 119), + DMTAP = c(100.5, 51.4, 26.8, 15.7, 7.9) + ) + ) + ), + mkinds$new("Borstel 2", # p. 19/20 + mkin_wide_to_long( + data.frame( + t = rep(c(0, 2, 7, 14, 28, 58, 89, 119), each = 2), + DMTAP = c(100.5, 99.6, 91.9, 91.3, 81.8, 82.1, 69.1, 68.0, 51.4, 51.4, + 27.6, 26.8, 15.7, 15.3, 7.9, 8.1), + M23 = c(NA, NA, 0.4, 0.5, 1.2, 1.3, 2.8, 2.0, 2.9, 4.9, 12.2, 12.2, + 12.2, 12.0, 10.4, 11.6), + M27 = c(NA, NA, NA, 0.3, 0.8, 0.9, 1.4, 1.4, 2.7, 2.6, 4.4, 4.7, + 5.4, 5.2, 5.4, 5.4), + M31 = c(NA, NA, NA, 0.1, 1.0, 0.9, 2.0, 2.5, 4.3, 3.2, 4.3, 4.8, + 5.0, 5.1, 4.3, 4.4) + ) + ) + ), + mkinds$new("Elliot 1", # p. 15/16 + mkin_wide_to_long( + data.frame( + t = rep(c(0, 1, 3, 7, 14, 21, 28, 42, 56, 84, 119, 182), each = 2), + DMTAP = c(96.2 + 1.3, 100.7, 86.4, 88.5, 69.8, 77.1, 59.0, 54.2, 31.3, 33.5, + 19.6, 20.9, 13.3, 15.8, 6.7, 8.7, 8.8, 8.7, 6.0, 4.4, 3.3, 2.8, 1.4, 1.8), + M23 = c(rep(NA, 4), 2.8, 1.7, 4.3, 5.8, 8.2, 5.2, 5.1, 6.1, + 6.0, 6.0, 5.0, 4.2, 3.9, 2.9, 1.9, 1.5, 2.0, 2.3, 1.2, 1.9), + M27 = c(rep(NA, 4), 2.3, 2.1, 4.0, 3.4, 6.6, 6.9, 8.2, 8.8, 9.7, 8.8, + 8.3, 9.2, 9.3, 8.5, 8.6, 6.0, 5.6, 4.5, 4.1, 3.9), + M31 = c(rep(NA, 3), 1.5, 5.0, 2.4, 4.3, 5.0, 8.0, 7.7, 7.8, 6.5, 8.0, + 7.4, 6.9, 9.0, 5.5, 6.1, 6.1, 4.0, 3.1, 2.9, 1.8, 2.6) + ) + ) + ), + mkinds$new("Elliot 2", # p. 16 + mkin_wide_to_long( + data.frame( + t = rep(c(0, 1, 3, 7, 14, 21, 28, 42, 56, 84, 119, 182), each = 2), + DMTA = c(93.4, 103.2, 89.2, 86.6, 78.2, 78.1, 55.6, 53.0, 33.7, + 33.2, 20.9, 19.9, 18.2, 12.7, 7.8, 9.0, 11.4, 9.0, 3.9, 4.4, 2.6, + 3.4, 2.0, 1.7), + M23 = c(rep(NA, 4), 2.6, 2.4, 5.5, 5.6, 7.3, 6.5, 5.8, 7.7, 7.8, 7.3, 7.0, + 6.3, 4.3, 3.8, 2.6, 2.8, 1.6, 1.1, 1.4, 1.3), + M27 = c(rep(NA, 4), 1.0, 2.6, 4.5, 4.6, 7.6, 6.7, 8.7, 7.6, 8.0, + 8.6, 7.4, 7.2, 10.3, 9.4, 6.5, 6.9, 4.6, 4.5, 4.3, 4.2), + M31 = c(NA, NA, 1.3, NA, 3.1, 2.3, 3.4, 4.3, 7.8, 8.7, 7.7, 6.5, + 6.3, 8.7, 5.7, 4.2, 3.2, 4.2, 3.8, 4.0, 4.5, 4.5, 3.8, 2.3) + ) + ) + ), + mkinds$new("Flaach", # p. 13 + mkin_wide_to_long( + data.frame( + t = rep(c(0, 1, 3, 7, 14, 21, 28, 42, 56, 70, 84, 120), each = 3), + DMTA = c(96.5, 96.8, 97.0, 82.9, 86.7, 87.4, 72.8, 69.9, 71.9, 51.4, + 52.9, 48.6, 28.5, 27.3, 27.5, 14.8, 13.4, 14.4, 7.7, 7.3, 8.1, 2, + 1.5, 1.9, 1.3, 1, 1.1, 0.9, 0.7, 0.7, 0.6, 0.4, 0.5, 0.4, 0.3, + 0.3), + M23 = c(rep(NA, 3), 0.7, 0.7, 0.2, 2.2, 1.8, 1.6, 4.1, 4.2, 4.2, 7.5, + 7.1, 7.5, 8.4, 6.8, 8, 7.2, 7.2, 6.9, 4.9, 4.3, 4.5, 3.8, 3.1, 3.1, + 2.7, 2.3, 2.1, 1.6, 1.1, 1.3, 0.4, 0.4, 0.3), + M27 = c(rep(NA, 3), 1.1, 1.1, 0.3, 2.6, 2.4, 2.3, 5, 5.9, 4.8, 8.5, + 8.5, 8.3, 9.3, 8.7, 9.1, 8.6, 8.5, 8.9, 8.1, 7.7, 7.4, 5.9, 6, 5.9, + 5.6, 5.2, 5.6, 4.3, 3.7, 3.9, 2.5, 2.4, 2.2), + M31 = c(rep(NA, 3), 0.3, 0.3, 0.1, 0.7, 0.6, 0.7, 1.3, 1.2, 1.4, + 2.4, 2.1, 2.3, 3.3, 2.4, 2.6, 4, 3.6, 3.3, 2.1, 1.7, 1.8, 1.6, 1.6, + 1.4, 1.8, 1.5, 1.3, 1.2, 0.9, 1.1, 0.5, 0.5, 0.3) + ) + ) + ), + mkinds$new("BBA 2.2", # p. 10 + mkin_wide_to_long( + data.frame( + t = rep(c(0, 1, 3, 7, 14, 21, 28, 42, 56, 70, 84, 119), each = 2), + DMTA = c(98.09, 98.77, 93.52, 92.03, 88.39, 87.18, 69.38, 71.06, + 45.21, 46.81, 30.54, 30.07, 21.60, 20.41, 9.10, 9.70, 6.58, 6.31, + 3.47, 3.52, 3.40, 3.67, 1.62, 1.62), + M23 = c(NA, NA, 0.36, 0.4, 1.03, 1.07, 3.6, 3.66, 6.97, 7.22, 8.65, + 8.38, 9.1, 8.63, 7.63, 8.01, 6.4, 6.35, 5.35, 5.06, 5.14, 5.91, + 3.35, 2.87), + M27 = c(NA, NA, 0.42, 0.47, 0.71, 0.82, 2.19, 2.28, 5.45, 5.19, 8.81, + 7.93,10.25,10.77,10.89,10.85,10.41,10.35, 9.92, 9.42, 9.15, 9.25, + 7.14, 7.13), + M31 = c(NA, NA, 0.36, 0.33, 0.55, 0.64, 1.94, 1.62, 4.22, 4.37, 6.31, + 6.85, 7.05, 6.84, 6.53, 7.11, 6.06, 6.05, 5.5, 5.07, 4.94, 4.39, + 3.64, 3.55) + ) + ) + ), + mkinds$new("BBA 2.3", # p. 10 + mkin_wide_to_long( + data.frame( + t = rep(c(0, 1, 3, 7, 14, 21, 28, 42, 56, 70, 84, 119), each = 2), + DMTA = c(99.33, 97.44, 93.73, 93.77, 87.84, 89.82, 71.61, 71.42, + 45.60, 45.42, 31.12, 31.68, 23.20, 24.13, 9.43, 9.82, 7.08, 8.64, + 4.41, 4.78, 4.92, 5.08, 2.13, 2.23), + M23 = c(NA, NA, 0.18, 0.18, 0.52, 0.43, 1.19, 1.11, 2.26, 1.99, 2.81, + 2.83, 3.39, 3.56, 3.49, 3.28, 2.80, 2.97, 2.42, 2.51, 2.22, 1.95, + 1.28, 0.99), + M27 = c(NA, NA, 0.5, 0.83, 1.25, 1.09, 3.28, 3.24, 7.17, 7.91, 10.15, + 9.55, 12.09, 11.89, 13.32, 12.05, 10.04, 10.78, 9.32, 9.62, 8.00, + 8.45, 5.71, 3.33), + M31 = c(NA, NA, 0.47, 0.34, 1.00, 0.89, 3.58, 3.41, 8.74, 8.28, 9.67, + 8.95, 10.34, 10.00, 7.89, 8.13, 5.06, 5.54, 3.79, 4.11, 3.11, 2.98, + 1.78, 1.55) + ) + ) + ) + ), + # Soil data and temperatures from p. 25, p. 18 (Staudenmaier 2013 and 2009) + # p. 14 (Wendt 1997), p. 12 (König 1995), p. 9 (König 1995) + # Soil classification in the König studies was according to the German scheme, + # but the FOCUS generic guidance suggests them to be equivalent to the USDA + # classes with the same name + meta = data.frame( + study = c("Unsworth 2014", "Staudenmaier 2013", "Staudenmaier 2009", + rep("Wendt 1997", 2), "König 1996", rep("König 1995", 2)), + usda_soil_type = c("Sandy loam", rep("Sand", 2), + rep("Clay loam", 2), "Sandy clay loam", "Loamy sand", + "Sandy loam"), + study_moisture_ref_type = c("pF2", rep("pF1", 2), + rep("pF2.5", 2), rep("pF1", 3)), + rel_moisture = c(1, rep(0.5, 2), + rep(0.75, 2), rep(0.4, 3)), + study_ref_moisture = c(NA, rep(23, 2), rep(33.37, 2), rep(NA, 3)), + temperature = c(20, rep(20, 2), + rep(23, 2), rep(20, 3)) + ) +) +f_time_norm_focus(dimethenamid_2018) + +save(dimethenamid_2018, file = "data/dimethenamid_2018.rda", version = 2) diff --git a/man/dimethenamid_2018.Rd b/man/dimethenamid_2018.Rd new file mode 100644 index 00000000..b6f761e8 --- /dev/null +++ b/man/dimethenamid_2018.Rd @@ -0,0 +1,35 @@ +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/dimethenamid_2018.R +\docType{data} +\name{dimethenamid_2018} +\alias{dimethenamid_2018} +\title{Aerobic soil degradation data on dimethenamid and dimethenamid-P from the EU assessment in 2018} +\format{ +An \link{mkindsg} object grouping eight datasets with some meta information +} +\source{ +Rapporteur Member State Germany, Co-Rapporteur Member State Bulgaria (2018) +Renewal Assessment Report Dimethenamid-P Volume 3 - B.8 Environmental fate and behaviour +Rev. 2 - November 2017 +\url{http://registerofquestions.efsa.europa.eu/roqFrontend/outputLoader?output=ON-5211} +} +\usage{ +dimethenamid_2018 +} +\description{ +The datasets were extracted from the active substance evaluation dossier +published by EFSA. Kinetic evaluations shown for these datasets are intended +to illustrate and advance kinetic modelling. The fact that these data and +some results are shown here does not imply a license to use them in the +context of pesticide registrations, as the use of the data may be +constrained by data protection regulations. +} +\details{ +The R code used to create this data object is installed with this package +in the 'dataset_generation' directory. In the code, page numbers are given for +specific pieces of information in the comments. +} +\examples{ +print(dimethenamid_2018) +} +\keyword{datasets} diff --git a/man/f_time_norm_focus.Rd b/man/f_time_norm_focus.Rd index bc7faa6a..77564799 100644 --- a/man/f_time_norm_focus.Rd +++ b/man/f_time_norm_focus.Rd @@ -21,7 +21,7 @@ f_time_norm_focus(object, ...) \method{f_time_norm_focus}{mkindsg}( object, - study_moisture_ref_source = c("meta", "focus"), + study_moisture_ref_source = c("auto", "meta", "focus"), Q10 = 2.58, walker = 0.7, f_na = NA, @@ -48,7 +48,9 @@ f_time_norm_focus(object, ...) for complete cases will be returned.} \item{study_moisture_ref_source}{Source for the reference value -used to calculate the study moisture} +used to calculate the study moisture. If 'auto', preference is given +to a reference moisture given in the meta information, otherwise +the focus soil moisture for the soil class is used} } \description{ Time step normalisation factors for aerobic soil degradation as described @@ -10,22 +10,22 @@ Testing mkin ✔ | 5 | Analytical solutions for coupled models [3.3 s] ✔ | 5 | Calculation of Akaike weights ✔ | 14 | Confidence intervals and p-values [1.2 s] -✔ | 14 | Error model fitting [4.7 s] -✔ | 3 | Time step normalisation +✔ | 14 | Error model fitting [5.6 s] +✔ | 5 | Time step normalisation ✔ | 4 | Test fitting the decline of metabolites from their maximum [0.3 s] ✔ | 1 | Fitting the logistic model [0.2 s] -✔ | 33 1 | Nonlinear mixed effects models [27.8 s] +✔ | 33 1 | Nonlinear mixed effects models [28.7 s] ──────────────────────────────────────────────────────────────────────────────── -Skip (test_mixed.R:137:3): saem results are reproducible for biphasic fits +Skip (test_mixed.R:143:3): saem results are reproducible for biphasic fits Reason: Fitting with saemix takes around 10 minutes when using deSolve ──────────────────────────────────────────────────────────────────────────────── ✔ | 2 | Test dataset classes mkinds and mkindsg ✔ | 1 | mkinfit features [0.3 s] -✔ | 12 | Special cases of mkinfit calls [0.8 s] -✔ | 8 | mkinmod model generation and printing [0.3 s] +✔ | 10 | Special cases of mkinfit calls [0.3 s] +✔ | 8 | mkinmod model generation and printing [0.2 s] ✔ | 3 | Model predictions with mkinpredict [0.4 s] ✔ | 16 | Evaluations according to 2015 NAFTA guidance [1.7 s] -✔ | 9 | Nonlinear mixed-effects models [7.9 s] +✔ | 9 | Nonlinear mixed-effects models [8.2 s] ✔ | 16 | Plotting [1.9 s] ✔ | 4 | Residuals extracted from mkinfit models ✔ | 2 | Complex test case from Schaefer et al. (2007) Piacenza paper [1.6 s] @@ -36,7 +36,7 @@ Reason: Fitting with saemix takes around 10 minutes when using deSolve ✔ | 4 | Calculation of maximum time weighted average concentrations (TWAs) [2.4 s] ══ Results ═════════════════════════════════════════════════════════════════════ -Duration: 69.7 s +Duration: 71.3 s ── Skipped tests ────────────────────────────────────────────────────────────── ● Fitting with saemix takes around 10 minutes when using deSolve (1) diff --git a/tests/testthat/experimental_data_for_UBA_2019_mkindsg.txt b/tests/testthat/experimental_data_for_UBA_2019_mkindsg.txt index f9287b35..7096f26d 100644 --- a/tests/testthat/experimental_data_for_UBA_2019_mkindsg.txt +++ b/tests/testthat/experimental_data_for_UBA_2019_mkindsg.txt @@ -1,5 +1,5 @@ <mkindsg> holding 5 mkinds objects Title $title: Experimental X -Occurrene of observed compounds $observed_n: +Occurrence of observed compounds $observed_n: parent A1 5 5 diff --git a/tests/testthat/test_f_time_norm.R b/tests/testthat/test_f_time_norm.R index f9aba58a..ca2ebd99 100644 --- a/tests/testthat/test_f_time_norm.R +++ b/tests/testthat/test_f_time_norm.R @@ -8,4 +8,13 @@ test_that("Time step normalisation for a dataset works", { expect_output(f_time_norm_focus(D24_2014, study_moisture_ref_source = "focus", f_na = 1), "was set to") expect_equal(round(D24_2014$f_time_norm, 3), c(1.606, 0.712, 0.716, 0.716, 0.898)) + expect_output(f_time_norm_focus(dimethenamid_2018), "was set to") + + # Reference values from Dimethenamid RAR 2018 Vol3 B.8 + expect_equal(round(dimethenamid_2018$f_time_norm, 3), + c(1, + rep(0.971, 2), # p. 56 + rep(round(1.329 * 0.924, 3), 2), # p. 51 + 0.623, 0.768, 0.673) # p. 45 + ) }) diff --git a/tests/testthat/test_mixed.R b/tests/testthat/test_mixed.R index 41e8160a..1e96c338 100644 --- a/tests/testthat/test_mixed.R +++ b/tests/testthat/test_mixed.R @@ -1,4 +1,4 @@ -context("Nonlinear mixed effects models") +context("Nonlinear mixed-effects models") test_that("Parent only models can be fitted using nonlinear mixed effects models", { expect_error(saem(fits), "Only row objects") |