This package is intended to provide easy access to methods of reporting CV% in non-lognormal, non-normal distributions. Often in pharmacometric literature, CV% is only reported for lognormal variability (or treated as lognormal), favoring reporting of the harder-to-interpret variance parameter; this package attempts to provide an alternative approach.
You can install the development version of pmxcv like so:
::install_github("pfizer-rd/pmxcv") devtools
Example of a typical use case:
library(pmxcv)
## Parameters from NONMEM (etc)
<- 0.689
theta_bio <- 1.2
omega_bio
# Representation of bioavailability calculation in NONMEM syntax:L
# LOGITF1 = LOG( THETA(BIO) ) - LOG( 1 - THETA(BIO) )
# F1 = 1/( 1 + 1/EXP( LOGITF1 + ETA(BIO) )
## Numeric parameter variability
<- rnorm(10^9, sd=sqrt(omega_bio))
eta_sample <- log(theta_bio) - log( 1 - theta_bio )
logit_theta <- 1 / ( 1 + 1/exp( logit_theta + eta_sample ) )
indiv_bios <- 100*sd(indiv_bios)/mean(indiv_bios)
expected_cv
expected_cv#> [1] 31.39837
## Lognormal reported CV% (erroneous)
<- 100*sqrt(exp(omega_bio) - 1)
bio_cv_lnorm
bio_cv_lnorm#> [1] 152.3193
## Logitnormal reported CV%
<- dist.intcv("logit", u=theta_bio, v=omega_bio)
bio_cv_lgtnorm # should be approximately equal to numeric
bio_cv_lgtnorm #> [1] 31.39758