Skip to content

v2.0.12

Compare
Choose a tag to compare
@mattfidler mattfidler released this 28 Mar 13:21
· 588 commits to main since this release
df01bca

rxode2 2.0.12

New features

  • A new function zeroRe() allows simple setting of omega and/or sigma values
    to zero for a model (#456)

  • Diagonal zeros in the omega and sigma matrices are treated as
    zeros in the model. The corresponding omega and sigma matrices
    drop columns/rows where the diagonals are zero to create a new
    omega and sigma matrix for simulation. This is the same idiom
    that NONMEM uses for simulation from these matrices.

  • Add the ability to pipe model estimates from another model by
    parentModel %>% ini(modelWithNewEsts)

  • Add the ability to append model statements with piping using %>% model(x=3, append=d/dt(depot)), still supports appending with
    append=TRUE and pre-pending with append=NA (the default is to
    replace lines with append=FALSE)

  • rxSolve's keep argument will now maintain character and factor classes from
    input data with the same class (#190)

  • Parameter labels may now be modified via ini(param = label("text")) (#351).

  • Parameter order may be modified via the append argument to ini()
    when piping a model. For example, ini(param = 1, append = 0) or
    ini(param = label("text"), append = "param2") (#352).

Internal changes

  • If lower/upper bounds are outside the required bounds, the
    adjustment is displayed.

  • When initial values are piped that break the model's boundary
    condition reset the boundary to unbounded and message which boundary
    was reset.

  • Added as.rxUi() function to convert the following objects to
    rxUi objects: rxode2, rxModelVars, function. Converting
    nlmixr2 fits to rxUi will be placed in the s3 method in the
    corresponding package.

  • assertRxUi(x) now uses as.rxUi() so that it can be extended
    outside of rxode2/nlmixr2.

  • rxode2 now supports addl with ss doses

  • Moved rxDerived to rxode2parse (and re-exported it here).

  • Added test for transit compartment solving in absence of dosing to the
    transit compartment (fixed in rxode2parse but solving tested
    here)

  • Using ini() without any arguments on a rxode2 type function will
    return the ini() block. Also added a method ini(mod) <- iniBlock to modify the ini block is you wish. iniBlock should
    be an expression.

  • Using model() without any arguments on a rxode2 type function
    will return the model() block. Also added a new method
    model(mod) <- modelBlock

  • Added a new method rxode2(mod) <- modFunction which allows
    replacing the function with a new function while maintaining the
    meta information about the ui (like information that comes from
    nonmem2rx models). The modFunction should be the body of the
    new function, the new function, or a new rxode2 ui.

  • rxode2 ui objects now have a $sticky item inside the internal
    (compressed) environment. This $sticky tells what variables to
    keep if there is a "significant" change in the ui during piping or
    other sort of model change. This is respected during model piping,
    or modifying the model with ini(mod)<-, model(mod)<-,
    rxode2(mod)<-. A significant change is a change in the model
    block, a change in the number of estimates, or a change to the value
    of the estimates. Estimate bounds, weather an estimate is fixed or
    estimate label changes are not considered significant.

  • Added as.ini() method to convert various formats to an ini
    expression. It is used internally with ini(mod)<-. If you want to
    assign something new that you can convert to an ini expression, add
    a method for as.ini().

  • Added as.model() method to convert various formats to a model
    expression. It is used internally with model(mod)<-. If you want to
    assign something new that you can convert to a model expression, add
    a method for as.model().

What's Changed

New Contributors

Full Changelog: v2.0.11...v2.0.12