Last data update: 2014.03.03

R: PK models with linear elimination
PKmodR Documentation

PK models with linear elimination

Description

Create a model function with gradient evaluation (and, optionally, Hessian evaluation) for a model according to the number of compartments, the form of administration and dosage of the drug after performing any substitutions given.

Usage

  PKmod(admin = c("bolus", "infusion", "oral"),
    dosage = c("sd", "md", "ss"), subst = list(), cpt = 1L,
    hessian = FALSE)

Arguments

admin

form of administration of the drug, one of "bolus", "infusion" or "oral". Defaults to "bolus".

dosage

type of dosage of the drug, one of "sd" (single dose), "md" (multiple dose) or "ss" (steady-state). Defaults to "sd".

subst

a list of formulas of substitutions to perform

cpt

scalar integer - the number of model compartments.

hessian

a logical value indicating whether the second derivatives should be calculated and incorporated in the return value.

Details

The substitutions are given as a list of formulas, such as list(k ~ Cl/V, Cl ~ exp(lCl), V ~ exp(lV)). They are applied left to right.

Value

a byte-compiled model function with gradient evaluation

Examples

## return a function with substitutions
PKmod("bolus", "sd", list(k ~ Cl/V, Cl ~ exp(lCl), V ~ exp(lV)))

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(PKPDmodels)
> png(filename="/home/ddbj/snapshot/RGM3/R_CC/result/PKPDmodels/PKmod.Rd_%03d_medium.png", width=480, height=480)
> ### Name: PKmod
> ### Title: PK models with linear elimination
> ### Aliases: PKmod
> 
> ### ** Examples
> 
> ## return a function with substitutions
> PKmod("bolus", "sd", list(k ~ Cl/V, Cl ~ exp(lCl), V ~ exp(lV)))
function (dose, t, lCl, lV) 
{
    .expr1 <- exp(lCl)
    .expr2 <- exp(lV)
    .expr3 <- .expr1/.expr2
    .expr6 <- exp(-.expr3 * t)
    .expr7 <- dose * .expr6
    .expr15 <- .expr2^2
    .value <- .expr7/.expr2
    .grad <- array(0, c(length(.value), 2L), list(NULL, c("lCl", 
        "lV")))
    .grad[, "lCl"] <- -(dose * (.expr6 * (.expr3 * t))/.expr2)
    .grad[, "lV"] <- dose * (.expr6 * (.expr1 * .expr2/.expr15 * 
        t))/.expr2 - .expr7 * .expr2/.expr15
    attr(.value, "gradient") <- .grad
    .value
}
<bytecode: 0x1b2e8b0>
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>