Description
Integration-Based Coefficients of Variance.
Description
Estimate coefficient of variance percent (CV%) for any arbitrary distribution, including some built-in estimates for commonly-used transformations in pharmacometrics. Methods are described in various sources, but applied here as summarized in: Prybylski, (2024) <doi:10.1007/s40262-023-01343-2>.
README.md
pmxcv
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.
Installation
You can install the development version of pmxcv like so:
devtools::install_github("pfizer-rd/pmxcv")
Example
Example of a typical use case:
library(pmxcv)
## Parameters from NONMEM (etc)
theta_bio <- 0.689
omega_bio <- 1.2
# 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
eta_sample <- rnorm(10^9, sd=sqrt(omega_bio))
logit_theta <- log(theta_bio) - log( 1 - theta_bio )
indiv_bios <- 1 / ( 1 + 1/exp( logit_theta + eta_sample ) )
expected_cv <- 100*sd(indiv_bios)/mean(indiv_bios)
expected_cv
#> [1] 31.39837
## Lognormal reported CV% (erroneous)
bio_cv_lnorm <- 100*sqrt(exp(omega_bio) - 1)
bio_cv_lnorm
#> [1] 152.3193
## Logitnormal reported CV%
bio_cv_lgtnorm <- dist.intcv("logit", u=theta_bio, v=omega_bio)
bio_cv_lgtnorm # should be approximately equal to numeric
#> [1] 31.39758