From f714f692b2f71eed73a67c5dd8466793861526ac Mon Sep 17 00:00:00 2001 From: "Matthew L. Fidler" Date: Sun, 14 May 2023 23:02:19 -0500 Subject: [PATCH] Add dvid->cmt translation --- R/asNonmem2rx.R | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/R/asNonmem2rx.R b/R/asNonmem2rx.R index 3a193989..c1540230 100644 --- a/R/asNonmem2rx.R +++ b/R/asNonmem2rx.R @@ -70,9 +70,18 @@ as.nonmem2rx <- function(model1, model2, compress=TRUE) { .nonmemData <- .rx$nonmemData .w <- which(names(.nonmemData) == "nmdvid") if (length(.w) == 1L) { - .minfo("assuming 'dvid' is close enough to nlmixr2 definition") - names(.nonmemData)[.w] <- "dvid" - .rx$nonmemData <- .nonmemData + .wcmt <- which(tolower(names(.nonmemData)) == "cmt") + .wevid <- which(tolower(names(.nonmemData)) == "evid") + if (length(.wcmt) == 1L && length(.wevid) == 1L) { + .minfo("merging 'dvid' with nlmixr2 'cmt' definition") + .nonmemData[,.wcmt] <- ifelse(.nonmemData[, .wevid] != 0, .nonmemData[,.wcmt], + length(.ui$mv0$state) + .nonmemData[, .w]) + .rx$nonmemData <- .nonmemData + } else { + .minfo("assuming 'dvid' is close enough to nlmixr2 definition") + names(.nonmemData)[.w] <- "dvid" + } + } # now rename thetaMat .iniDfIn <- .nm2rx$iniDf