Learn R Programming

nlmixr2auto (version 1.0.0)

param.bounds: Define Parameter Bounds for PK Models

Description

Utility function to generate lower and upper bounds for pharmacokinetic model parameters, including fixed effects (theta), random effects variances (omega), residual error (sigma), and correlation constraints.

Usage

param.bounds(
  theta = list(lower = NULL, upper = NULL),
  omega = list(lower = NULL, upper = NULL),
  sigma = list(add = list(lower = 0.001, upper = Inf), prop = list(lower = 0.001, upper =
    Inf)),
  correlation = list(lower = 0.1, upper = 0.8)
)

Value

A named list with four components:

theta

List of parameter-specific lower and upper bounds for fixed effects.

omega

List of lower and upper bounds for variance terms.

sigma

List with additive (add) and proportional (prop) error bounds.

correlation

List with lower and upper correlation bounds.

Arguments

theta

A list with optional elements:

lower

Named list of lower bounds for fixed effects. Defaults to -Inf for all parameters.

upper

Named list of upper bounds for fixed effects. Defaults to 10^9 for all parameters.

omega

A list with optional elements:

lower

Named list of lower bounds for variance terms. Defaults to 10 for all parameters.

upper

Named list of upper bounds for variance terms. Defaults to Inf for all parameters.

sigma

A list with two elements (each itself a list of bounds):

add

Lower and upper bounds for additive error component. Defaults to 0.001 and Inf.

prop

Lower and upper bounds for proportional error component. Defaults to 0.001 and Inf.

correlation

A list with elements lower and upper giving the bounds for correlation terms. Defaults to 0.1 and 0.8.

Author

Zhonghui Huang

Details

Default theta bounds use -Inf for lower limits and 10^9 for upper limits to avoid allowing unrealistically large fixed effect estimates while still providing flexibility during model estimation.

Examples

Run this code
# Use all default bounds
 param.bounds()

# Customize only omega lower bounds
param.bounds(omega = list(lower = list(cl = 5, vc = 2)))

# Adjust sigma proportional error bounds
param.bounds(
  sigma = list(
    add = list(lower = 0.001, upper = 1),
    prop = list(lower = 0.01, upper = 0.05)
  )
)

Run the code above in your browser using DataLab