nlmixr2 / rxode2parse

1 stars 0 forks source link

Cannot `keep` a logical column #76

Closed billdenney closed 9 months ago

billdenney commented 9 months ago

The column foo below cannot be in the list of keep parameters because it is logical:

library(nlmixr2)
#> Loading required package: nlmixr2data

one.compartment <- function() {
  ini({
    tka <- log(1.57); label("Ka")
    tcl <- log(2.72); label("Cl")
    tv <- log(31.5); label("V")
    eta.ka ~ 0.6
    eta.cl ~ 0.3
    eta.v ~ 0.1
    add.sd <- 0.7
  })
  model({
    ka <- exp(tka + eta.ka)
    cl <- exp(tcl + eta.cl)
    v <- exp(tv + eta.v)
    d/dt(depot) <- -ka * depot
    d/dt(center) <- ka * depot - cl / v * center
    cp <- center / v
    cp ~ add(add.sd)
  })
}

d_mod <- theo_sd
d_mod$foo <- FALSE

fit <- nlmixr2(one.compartment, d_mod,  est="rxSolve", control = list(keep = "foo"))
#> Error in eval(expr, envir, enclos) : 
#>   the columns that are kept must be either a string, a factor, an integer number, or a real number
#> Error: the columns that are kept must be either a string, a factor, an integer number, or a real number

Created on 2023-11-14 with reprex v2.0.2

(I'd guess that this issue will end up moved to nlmixr2est or rxode2.)