Assert properties of the rxUi models
Usage
assertRxUi(ui, extra = "", .var.name = .vname(ui))
assertRxUiPrediction(ui, extra = "", .var.name = .vname(ui))
assertRxUiIovNoCor(ui, extra = "", .var.name = .vname(ui))
assertRxUiNoMix(ui, extra = "", .var.name = .vname(ui))
assertRxUiNoAutoregressive(ui, extra = "", .var.name = .vname(ui))
assertRxUiSingleEndpoint(ui, extra = "", .var.name = .vname(ui))
assertRxUiTransformNormal(ui, extra = "", .var.name = .vname(ui))
assertRxUiNormal(ui, extra = "", .var.name = .vname(ui))
testRxUiPriors(ui, extra = "", .var.name = .vname(ui))
testRxUiNormalPriors(ui, extra = "", .var.name = .vname(ui))
testRxUiOmegaDf(ui, extra = "", .var.name = .vname(ui))
testRxUiOmegaNormalPriors(ui, extra = "", .var.name = .vname(ui))
assertRxUiNoPriors(ui, extra = "", .var.name = .vname(ui))
assertRxUiNormalPriors(ui, extra = "", .var.name = .vname(ui))
assertRxUiNoOmegaDf(ui, extra = "", .var.name = .vname(ui))
assertRxUiNoOmegaNormalPriors(ui, extra = "", .var.name = .vname(ui))
assertRxUiMuRefOnly(ui, extra = "", .var.name = .vname(ui))
assertRxUiEstimatedResiduals(ui, extra = "", .var.name = .vname(ui))
assertRxUiPopulationOnly(ui, extra = "", .var.name = .vname(ui))
assertRxUiMixedOnly(ui, extra = "", .var.name = .vname(ui))
assertRxUiRandomOnIdOnly(ui, extra = "", .var.name = .vname(ui))Arguments
- ui
Model to check
- extra
Extra text to append to the error message (like "for focei")
- .var.name
[
character(1)]
Name of the checked object to print in assertions. Defaults to the heuristic implemented invname.
Details
These functions have different types of assertions
assertRxUi– Make sure this is a proper rxode2 model (if not throw error)assertRxUiSingleEndpoint– Make sure the rxode2 model is only a single endpoint model (if not throw error)assertRxUiTransformNormal– Make sure that the model residual distribution is normal or transformably normalassertRxUiNormal– Make sure that the model residual distribution is normalassertRxUiEstimatedResiduals– Make sure that the residual error parameters are estimated (not modeled).assertRxUiPopulationOnly– Make sure the model is the population only model (no mixed effects)assertRxUiMixedOnly– Make sure the model is a mixed effect model (not a population effect, only)assertRxUiPrediction– Make sure the model has predictionsassertRxUiMuRefOnly– Make sure that all the parameters are mu-referencedassertRxUiRandomOnIdOnly– Make sure there are only random effects at the ID levelassertRxUiIovNoCor– Make sure that the IOV model does not have any correlationsassertRxUiNoMix– Make sure that the model does not have a mixture model inside itassertRxUiNoAutoregressive– Make sure the model does not have an autoregressive residual (iear()); used by estimation methods that do not support itassertRxUiNoPriors– Make sure the model does not specify any prior distributions; used by estimation methods that cannot use them, so that a specified prior is an error instead of being silently ignoredassertRxUiNormalPriors– Make sure that every prior the model specifies is a normal prior (dnorm(),stdNormal(), or the multivariatemultiNormal()that thelotrinormal prior shorthand produces for correlated parameters); used by estimation methods that support priors but only normal onesassertRxUiNoOmegaDf– Make sure the model does not give prior degrees of freedom for an omega block (ieinvWishart(4), the$OMEGAPDof a NONMEM NWPRI model); used by estimation methods that cannot use themassertRxUiNoOmegaNormalPriors– Make sure the model does not put a normal prior on an omega parameter (ieom.eta.cl ~ 0.01, what a NONMEM TNPRI model needs); used by estimation methods that can put a prior on an omega but only a Wishart one
Examples
# \donttest{
one.cmt <- function() {
ini({
tka <- 0.45; label("Ka")
tcl <- log(c(0, 2.7, 100)); label("Cl")
tv <- 3.45; 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)
linCmt() ~ add(add.sd)
})
}
assertRxUi(one.cmt)
#>
#>
#> ℹ parameter labels from comments are typically ignored in non-interactive mode
#> ℹ Need to run with the source intact to parse comments
# assertRxUi(rnorm) # will fail
assertRxUiSingleEndpoint(one.cmt)
#>
#>
#> ℹ parameter labels from comments are typically ignored in non-interactive mode
#> ℹ Need to run with the source intact to parse comments
# }
