Skip to contents

This function allows to modify Omega parameters in a list of PML models (PMLModels class instance created by get_PMLParametersSets()).

Usage

modify_Omega(
  PMLParametersSets,
  Name,
  InitialOmega,
  State,
  Frozen,
  PMLStructures = NULL
)

Arguments

PMLParametersSets

A list of PML parameters sets (PMLModels class instance).

Name

A character string specifying the name of the Omega.

InitialOmega

Numeric specifying the initial value of the Omega. Default value is 1.

State

Character specifying the presence of the Omega. Possible values are:

  • None The Omega does not exist in the specified PMLStructures.

  • Present The Omega exists in the specified PMLStructures (the default).

  • Searched The presence of the Omega is searched.

Frozen

A logical value indicating whether the Omega is frozen or not.

PMLStructures

Character or character vector specifying names of PML structures in which the Omega will be modified. For the naming convention of PMLStructures, see Details section of create_ModelPK() for PK models and create_ModelPD() for PD models.

Value

An updated list of PML models (PMLModels class instance) matching the specified options.

Details

  • If the specified Omega does not exist in the PML models, a warning will be issued, and no modifications will be made.

  • The current functionality does not support modifying custom omegas (ranefs) that are defined within the PML code of custom model spaces.

See also

list_Omegas()

Functions used for Omega specification: Omega(), create_ModelPD(), create_ModelPK()

Examples

PMLParametersSets12 <- create_ModelPK(CompartmentsNumber = c(1, 2))
# Modify an Omega parameter named "nV" with new Initial Estimate and
# Frozen flag
PMLParametersSets12Mod1 <-
  modify_Omega(PMLParametersSets12,
               Name = "nV",
               InitialOmega = 0.3,
               State = "Present",
               Frozen = TRUE,
               PMLStructures = "PK1IVC")

print(PMLParametersSets12Mod1)
#> PK1IVC 
#>  test() {
#> 	cfMicro(A1, Cl / V)
#> 	C = A1 / V
#> 	dosepoint(A1, idosevar = A1Dose, infdosevar = A1InfDose, infratevar = A1InfRate)
#> 	error(CEps = 0.1)
#> 	observe(CObs = C * (1 + CEps))
#> 	
#> 	stparm(Cl = tvCl * exp( nCl ))
#> 	fixef(tvCl= c(, 1, ))
#> 	ranef(diag(nCl) = c(1))
#> 	stparm(V = tvV * exp( nV ))
#> 	fixef(tvV= c(, 1, ))
#> 	ranef(diag(nV) (freeze) = c(0.3))
#> 
#> } 
#> PK2IVC 
#>  test() {
#> 	cfMicro(A1, Cl / V, Cl2 / V, Cl2 / V2)
#> C = A1 / V
#> 	dosepoint(A1, idosevar = A1Dose, infdosevar = A1InfDose, infratevar = A1InfRate)
#> 	error(CEps = 0.1)
#> 	observe(CObs = C * (1 + CEps))
#> 	
#> 	stparm(Cl = tvCl * exp( nCl ))
#> 	fixef(tvCl= c(, 1, ))
#> 	ranef(diag(nCl) = c(1))
#> 	stparm(V = tvV * exp( nV ))
#> 	fixef(tvV= c(, 1, ))
#> 	ranef(diag(nV) = c(1))
#> 	stparm(Cl2 = tvCl2 * exp( nCl2 ))
#> 	fixef(tvCl2= c(, 1, ))
#> 	ranef(diag(nCl2) = c(1))
#> 	stparm(V2 = tvV2 * exp( nV2 ))
#> 	fixef(tvV2= c(, 1, ))
#> 	ranef(diag(nV2) = c(1))
#> 
#> }