16 Non-compartmental analysis

Non-compartmental analysis (NCA) is a useful and widely employed tool for a first assessment of observed PK data. For a modeler it could give a first indication about dose-proportionality (or the lack thereof), but it also allows to find first guesses for parameters, such as clearance and volume of distribution.

NCA is often underused by PK/PD modelers and mainly employed by DMPK or clinical pharmacology scientist. Some reasons might be that the “gold-standard” software Phoenix(R) / WinNonlin(R) is not available to these persons or that they have not been trained on its use.

IQR Tools offers an alternative to Phoenix(R) in that it implements a highly efficient and user-friendly NCA workflow, including automatic Word report generation. As basis for the underlying NCA calculation IQR Tools uses the NonCompartIQR package, available on github. This is an adaptation of the NonCompart package.

In this Chapter the NCA functionality of IQR Tools is exemplified on several examples. An important example is the first example as many concepts are introduced in detail and not repeated in the following examples.

16.1 Extravascular - Theophylline

The first example uses the theophylline dataset that is included in R as “Theoph”. The NCA functionality in IQR Tools requires that all data is provided as a data.frame object without the use of the “annoying” factors.

16.1.1 Original data

Minimally required columns in such an NCA dataset are:

  • USUBJID: The unique subject ID
  • PROFTIME: The sampling time of the recorded sample
  • DV: The observed value for the sample
  • DOSE: The dose that was given

Other columns that are potentially used will be discussed later when needed.

The contents of this dataset (15 first rows) are shown below.

Table 6.1: Theophylline NCA dataset (15 first rows)
USUBJID WT0 DOSE PROFTIME DV
1 79.6 320 0.00 0.74
1 79.6 320 0.25 2.84
1 79.6 320 0.57 6.57
1 79.6 320 1.12 10.50
1 79.6 320 2.02 9.66
1 79.6 320 3.82 8.58
1 79.6 320 5.10 8.36
1 79.6 320 7.03 7.47
1 79.6 320 9.05 6.89
1 79.6 320 12.12 5.94
1 79.6 320 24.37 3.28
2 72.4 320 0.00 0.00
2 72.4 320 0.27 1.72
2 72.4 320 0.52 7.91
2 72.4 320 1.00 8.31

16.1.2 IQRdataNCA object

Based on this source dataset an IQRdataNCA object is generated in the next step, using the IQRdataNCA() function. Here we provide the data set as argument data, information about the type of administration as argument ADM (can be “Extravascular”, “Bolus” (IV), or “Infusion” (IV)). Furthermore, character strings are provided that inform the functions about the units of the observed concentration, the sampling time, and the dose.

The output of the IQRdataNCA function is a data.frame in R as an IQRdataNCA object that is explained more in detail below. Based on the information contained in the original dataset (data) and the information provided to the IQRdataNCA column the following columns are generated. Due to the width of the table the columns are shown and explained in two separate tables (first 10 columns and following 9 columns).

Table 16.1: Theophylline NCA dataset (15 first rows and first 10 columns)
IX USUBJID STUDY GROUP GROUPN INFO PROFNR PROFTIME NT NAME
1 1 Unknown 320 mg 320 320 mg Unnamed Profile 0.00 0.0000000 Concentration
2 1 Unknown 320 mg 320 320 mg Unnamed Profile 0.25 0.3080000 Concentration
3 1 Unknown 320 mg 320 320 mg Unnamed Profile 0.57 0.5957143 Concentration
4 1 Unknown 320 mg 320 320 mg Unnamed Profile 1.12 1.0557143 Concentration
5 1 Unknown 320 mg 320 320 mg Unnamed Profile 2.02 2.0185714 Concentration
6 1 Unknown 320 mg 320 320 mg Unnamed Profile 3.82 3.5766667 Concentration
7 1 Unknown 320 mg 320 320 mg Unnamed Profile 5.10 5.0533333 Concentration
8 1 Unknown 320 mg 320 320 mg Unnamed Profile 7.03 7.0625000 Concentration
9 1 Unknown 320 mg 320 320 mg Unnamed Profile 9.05 9.0744444 Concentration
10 1 Unknown 320 mg 320 320 mg Unnamed Profile 12.12 12.0000000 Concentration
11 1 Unknown 320 mg 320 320 mg Unnamed Profile 24.37 24.1991667 Concentration
1 2 Unknown 320 mg 320 320 mg Unnamed Profile 0.00 0.0000000 Concentration
2 2 Unknown 320 mg 320 320 mg Unnamed Profile 0.27 0.3080000 Concentration
3 2 Unknown 320 mg 320 320 mg Unnamed Profile 0.52 0.5957143 Concentration
4 2 Unknown 320 mg 320 320 mg Unnamed Profile 1.00 1.0557143 Concentration

Documentation of the first 10 columns in the IQRdataNCA object

  • IX: Index variable, numbering sequentially the observed samples in a subject. This information can be used afterwards to select the samples that are to be used for the terminal slope calculation.
  • USUBJID: The USUBJID value from the original dataset.
  • STUDY: If the original dataset contains a STUDY column, then the value is used here. In this example no STUDY column was present and thus the content is set to “Unknown”.
  • GROUP: If the original dataset contains a GROUP column, then the value is used here. If GROUP is not present in the original data then the GROUP entry is constructed by the dose and the dose unit. The GROUP column is useful, e.g., in cases were weight based dosing is used (mg/kg).
  • GROUPN: A numeric version of the GROUP column. If neither GROUP nor GROUPN are present in the original data then the dose in the DOSE column is used. If GROUPN is defined in the original data also GROUP needs to be defined in the original data and vice versa.
  • INFO: If the original data contains an INFO column then these values are used here. If not, the default content is the same as in the GROUP column. The INFO column is used for annotation purposes ob subjects in plots and tables.
  • PROFNR: If a PROFNR column is present in the original data these contents are used here. If not present then “Unnamed Profile” will be used. The reason for the presence of this PROFNR column is to allow the original data to contain multiple different profiles, obtained under different conditions. Example: a single dose profile and a steady-state profile. These profiles would obtain different profile names. During the call to IQRdataNCA a desired profile needs to be chosen with the PROFNR argument. The resulting IQRdataNCA object then will only contain information about the selected profile. Furthermore, the PROFNR information is used in the annotation of plots and tables.
  • PROFTIME: The content of the PROFTIME column in the original dataset.
  • NAME: If a NAME column is present in the original data that information will be used. If not provided, the name will be set to “Concentration”. The NAME information is used for annotation of plots and tables.
  • DV: The content of the DV column in the original dataset.
Table 6.2: Theophylline NCA dataset (15 first rows and last 9 columns)
DV DOSE DURATION UNIT TIMEUNIT ADM DOSEUNIT LLOQ GRPNLABL
0.74 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
2.84 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
6.57 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
10.50 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
9.66 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
8.58 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
8.36 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
7.47 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
6.89 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
5.94 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
3.28 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
0.00 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
1.72 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
7.91 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]
8.31 320 0 ug/mL hours Extravascular mg NA Dose [ mg ]

Documentation of the last 9 columns in the IQRdataNCA object

  • DOSE: The content of the DOSE column in the original dataset.
  • DURATION: For Bolus and Extravascular administrations the original dataset does not need to contain a DURATION column. For IV Infusion administrations, the original dataset needs to contain this column and the values are used here.
  • UNIT: The concentration measurement unit provided as CONCUNIT argument. By default “ng/mL” is used.
  • TIMEUNIT: The time unit provided as TIMEUNIT argument. By default “hours” is used.
  • ADM: The type of administration provided as ADM argument.
  • DOSEUNIT: The dose unit provided as DOSEUNIT argument. By default “mg” is used.
  • LLOQ: The lower limit of quantification for the conentration measurement. This value can be provided as LLOQ argument to the IQRdataNCA() function. If undefined, NA is used.
  • GRPNLABL: If a GROUPN column is defined in the data then this argument needs to be defined. Useful for mg/kg based dosing. This label will be used as xlabel in the result plots of the NCA.
  • NOSLOPE: If provided in the original dataset these values will be used. An entry of TRUE means that the corresponding concentration sample will not ne considered for calculation of the terminal elimination slope when using the bestslope algorithm. If not present in the original data all points will be eligible for bestslope calculation. An exception are values below LLOQ, which are not eligible for bestslope calculation in all cases.

16.1.3 Data plots

IQRdataNCA objects can be plotted in different ways. The generic plot() function will generate a number of plots so it is advantageous to directly export these plots as PDF files for easier viewing. In the following certain plots will be created and displayed as PDFs.

16.1.3.1 Summary level plots

Summary level plots show the data in the same plots. Both on linear and log Y axis and both untransformed and dose-normalized. Different panels are plotted for each different GROUP column entry. Here in this example only a single GROUP (dose level) exists.

16.1.3.2 Mean plots

Mean plots show binned mean and geometric mean plots with and without standard errors on linear and log Y axis. For each group, defined by a different entry in the GROUP column, a line is plotted. Here in this example only a single GROUP (dose level) exists. We will see more interesting examples later.

16.1.3.3 Individual plots

Individual plots show the individual profiles in different panels. The observation points are overlaid with labels, indicating the number of the sample (column IX in the IQRdataNCA object). These plots allow to assess potential outliers and to select points that should be considered for slope calculation (if manual selection is desired). Plots are produced both on a linear and log Y axis.

16.1.4 Execution NCA

An NCA can be run directly on an IQRdataNCA object, using the function IQRnca() as shown below. If run with a single argument (data only), several defaults will be used. Of main importance is that the default AUC calculation method is the Linear-Log Trapezoidal Method. More on these methods in the next subsection.

## Warning in IQRnca(dataNCA): No LLOQ information provided. LLOQ is assumed
## to be zero

The output argument of the IQRnca() function is an object of class IQRnca. Essentially it is an R data.frame that contains all typically calculated metrics for an NCA (as also Phoenix(R) does it). Standard print() and summary() functions are available for that object, allowing to generate report ready IQRoutputTable objects that jointly with IQReport can directly be included into Microsoft Word.

16.1.5 NCA table outputs

Examples for the print function

##    Individual NCA results for study "Unknown", profile number "Unnamed Profile"                                              
##    ==========================================================================================================================
## 
##    USUBJID | DOSE | INFO   | Cmax  | Cmax_D  | AUCINF_obs | AUCINF_D_obs | AUClast | Tmax | HL_Lambda_z | Cl_F_obs | Vz_F_obs
##    --------------------------------------------------------------------------------------------------------------------------
##    1       | 320  | 320 mg | 10.5  | 0.03281 | 214.9      | 0.6716       | 147.2   | 1.12 | 14.3        | 1.489    | 30.73   
##    2       | 320  | 320 mg | 8.33  | 0.02603 | 97.38      | 0.3043       | 88.73   | 1.92 | 6.659       | 3.286    | 31.57   
##    3       | 320  | 320 mg | 8.2   | 0.02562 | 106.1      | 0.3316       | 95.88   | 1.02 | 6.766       | 3.015    | 29.43   
##    4       | 320  | 320 mg | 8.6   | 0.02688 | 114.2      | 0.3569       | 102.6   | 1.07 | 6.981       | 2.802    | 28.22   
##    5       | 320  | 320 mg | 11.4  | 0.03563 | 136.3      | 0.426        | 118.2   | 1    | 8.002       | 2.348    | 27.1    
##    6       | 320  | 320 mg | 6.44  | 0.02012 | 82.18      | 0.2568       | 71.7    | 1.15 | 7.895       | 3.894    | 44.35   
##    7       | 320  | 320 mg | 7.09  | 0.02216 | 101        | 0.3156       | 87.97   | 3.48 | 7.847       | 3.169    | 35.87   
##    8       | 320  | 320 mg | 7.56  | 0.02362 | 102.2      | 0.3192       | 86.81   | 2.02 | 8.51        | 3.133    | 38.46   
##    9       | 320  | 320 mg | 9.03  | 0.02822 | 97.52      | 0.3048       | 83.94   | 0.63 | 8.406       | 3.281    | 39.79   
##    10      | 320  | 320 mg | 10.21 | 0.03191 | 167.9      | 0.5246       | 135.6   | 3.55 | 9.247       | 1.906    | 25.43   
##    11      | 320  | 320 mg | 8     | 0.025   | 86.9       | 0.2716       | 77.89   | 0.98 | 7.261       | 3.682    | 38.57   
##    12      | 320  | 320 mg | 9.75  | 0.03047 | 125.8      | 0.3932       | 115.2   | 3.52 | 6.287       | 2.543    | 23.06   
##    --------------------------------------------------------------------------------------------------------------------------
## Number of significant digits: 4
## USUBJID: Subject ID
## DOSE: Given dose (mg)
## INFO: Individual annotation
## Cmax: Maximum concentration (mg/L)
## Cmax_D: Dose normalized Cmax (mg/L/mg)
## AUCINF_obs: Observed Area Under the Curve Infinity (hours * mg/L)
## AUCINF_D_obs: AUC Infinity Observed Normalized by Dose (hours * mg/L/mg)
## AUClast: Area Under the Curve From Dosing to Last Concentration (hours * mg/L)
## Tmax: Time of maximum concentration (hours)
## HL_Lambda_z: Terminal Half Life (hours)
## Cl_F_obs: Observed Total Body Clearance by Fraction of Dose Absorbed (L/hours)
## Vz_F_obs: Observed Volume of Distribution of Absorbed Fraction (L)
## BLQ values after last non-BLQ value 
## BLQ values before first non-BLQ value imputed by zero.
## BLQ values between non-BLQ values imputed by LLOQ/2.
## 
## IQRoutputTable object
##    Individual NCA results for study "Unknown", profile number "Unnamed Profile"                                                          
##    ======================================================================================================================================
## 
##    USUBJID | DOSE | INFO   | HL_Lambda_z | Rsq    | Rsq_adjusted | AUC_.Extrap_obs | Lambda_z_lower | Lambda_z_upper | No_points_lambda_z
##    --------------------------------------------------------------------------------------------------------------------------------------
##    1       | 320  | 320 mg | 14.3        | 1      | 1            | 31.49           | 9.05           | 24.37          | 3                 
##    2       | 320  | 320 mg | 6.659       | 0.9972 | 0.9958       | 8.879           | 7.03           | 24.3           | 4                 
##    3       | 320  | 320 mg | 6.766       | 0.9993 | 0.9986       | 9.658           | 9              | 24.17          | 3                 
##    4       | 320  | 320 mg | 6.981       | 0.9989 | 0.9978       | 10.14           | 9.02           | 24.65          | 3                 
##    5       | 320  | 320 mg | 8.002       | 0.9986 | 0.998        | 13.3            | 7.02           | 24.35          | 4                 
##    6       | 320  | 320 mg | 7.895       | 0.9982 | 0.9979       | 12.75           | 2.03           | 23.85          | 7                 
##    7       | 320  | 320 mg | 7.847       | 0.9987 | 0.998        | 12.89           | 6.98           | 24.22          | 4                 
##    8       | 320  | 320 mg | 8.51        | 0.991  | 0.9888       | 15.02           | 3.53           | 24.12          | 6                 
##    9       | 320  | 320 mg | 8.406       | 0.9994 | 0.9989       | 13.93           | 8.8            | 24.43          | 3                 
##    10      | 320  | 320 mg | 9.247       | 0.9995 | 0.999        | 19.23           | 9.38           | 23.7           | 3                 
##    11      | 320  | 320 mg | 7.261       | 1      | 1            | 10.37           | 9.03           | 24.08          | 3                 
##    12      | 320  | 320 mg | 6.287       | 0.9994 | 0.9988       | 8.433           | 9.03           | 24.15          | 3                 
##    --------------------------------------------------------------------------------------------------------------------------------------
## Number of significant digits: 4
## USUBJID: Subject ID
## DOSE: Given dose (mg)
## INFO: Individual annotation
## HL_Lambda_z: Terminal Half Life (hours)
## Rsq: R-squared
## Rsq_adjusted: R-squared adjusted
## AUC_.Extrap_obs: Observed Area Under the Curve Percent Extrapolation (%)
## Lambda_z_lower: Lambda Z Time Lower Limit (hours)
## Lambda_z_upper: Lambda Z Time Upper Limit (hours)
## No_points_lambda_z: Sum of Lambda Z Timepoints
## BLQ values after last non-BLQ value 
## BLQ values before first non-BLQ value imputed by zero.
## BLQ values between non-BLQ values imputed by LLOQ/2.
## 
## IQRoutputTable object

Example for the summary function

##    Summary NCA results for study "Unknown", profile number "Unnamed Profile", (320 mg)                                                                 
##    ====================================================================================================================================================
## 
##    NAME                      | Mean (SD)      | Median (Min-Max)    | Geometric mean (CV%) | Description                                               
##    ----------------------------------------------------------------------------------------------------------------------------------------------------
##    Cmax [mg/L]               | 8.759 (1.473)  | 8.465 (6.44-11.4)   | 8.646 (16.98)        | Maximum concentration                                     
##    AUCINF_obs [hours * mg/L] | 119.4 (38.19)  | 104.1 (82.18-214.9) | 114.8 (28.43)        | Observed Area Under the Curve Infinity                    
##    HL_Lambda_z [hours]       | 8.18 (2.115)   | 7.871 (6.287-14.3)  | 7.987 (21.85)        | Terminal Half Life                                        
##    Tmax [hours]              | 1.788 (1.112)  | 1.135 (0.63-3.55)   | 1.515 (64.67)        | Time of maximum concentration                             
##    Cl_F_obs [L/hours]        | 2.879 (0.7039) | 3.074 (1.489-3.894) | 2.787 (28.43)        | Observed Total Body Clearance by Fraction of Dose Absorbed
##    Vz_F_obs [L]              | 32.72 (6.584)  | 31.15 (23.06-44.35) | 32.11 (20.39)        | Observed Volume of Distribution of Absorbed Fraction      
##    ----------------------------------------------------------------------------------------------------------------------------------------------------
## Number subjects: 12
## Number significant digits: 4
## BLQ values after last non-BLQ value 
## BLQ values before first non-BLQ value imputed by zero.
## BLQ values between non-BLQ values imputed by LLOQ/2.
## 
## IQRoutputTable object

16.2 AUC calculation methods

A nice introduction to AUC calculation methods is available here: Calculating AUC (Linear and Log-linear). IQR Tools has implemented all those methods. By default, if nothing different is defined, the “Linear-Log Trapezoidal Method” method is used.

The choice of the AUC calculation methods is done as follows:

## Warning in IQRnca(dataNCA, AUCmethod = "linear"): No LLOQ information
## provided. LLOQ is assumed to be zero
## Warning in IQRnca(dataNCA, AUCmethod = "log"): No LLOQ information
## provided. LLOQ is assumed to be zero

Note that the “Logarithmic Trapezoidal Method” is a special case of the “Linear-Log Trapezoidal Method” and does not need separate specification. The argument AUCmethod="log" will implement the “Logarithmic Trapezoidal Method” for all decreasing concentration profiles (from Cmax/Tmax on). It basically depends on the presence of increasing concentrations in the profile (until a Tmax). If such an increase is available the Linear method will be used until Tmax and the logarithmic method from Tmax on.

16.3 AUC interval calculation

AUC in specific time intervals can be calculated. It requires the specification of the AUCintervalStart and AUCintervalEnd arguments as follows:

## Warning in IQRnca(dataNCA, AUCintervalStart = c(0, 0), AUCintervalEnd =
## c(8, : No LLOQ information provided. LLOQ is assumed to be zero
##    Individual NCA results for study "Unknown", profile number "Unnamed Profile"                                                                               
##    ===========================================================================================================================================================
## 
##    USUBJID | DOSE | INFO   | Cmax  | Cmax_D  | AUCINF_obs | AUCINF_D_obs | AUClast | Tmax | HL_Lambda_z | AUC[0-8hours] | AUC[0-10hours] | Cl_F_obs | Vz_F_obs
##    -----------------------------------------------------------------------------------------------------------------------------------------------------------
##    1       | 320  | 320 mg | 10.5  | 0.03281 | 214.9      | 0.6716       | 147.2   | 1.12 | 14.3        | 65.32         | 79.1           | 1.489    | 30.73   
##    2       | 320  | 320 mg | 8.33  | 0.02603 | 97.38      | 0.3043       | 88.73   | 1.92 | 6.659       | 51.3          | 60.3           | 3.286    | 31.57   
##    3       | 320  | 320 mg | 8.2   | 0.02562 | 106.1      | 0.3316       | 95.88   | 1.02 | 6.766       | 52.13         | 61.82          | 3.015    | 29.43   
##    4       | 320  | 320 mg | 8.6   | 0.02688 | 114.2      | 0.3569       | 102.6   | 1.07 | 6.981       | 53.27         | 63.84          | 2.802    | 28.22   
##    5       | 320  | 320 mg | 11.4  | 0.03563 | 136.3      | 0.426        | 118.2   | 1    | 8.002       | 62.8          | 74.69          | 2.348    | 27.1    
##    6       | 320  | 320 mg | 6.44  | 0.02012 | 82.18      | 0.2568       | 71.7    | 1.15 | 7.895       | 38.58         | 45.6           | 3.894    | 44.35   
##    7       | 320  | 320 mg | 7.09  | 0.02216 | 101        | 0.3156       | 87.97   | 3.48 | 7.847       | 45.52         | 54.35          | 3.169    | 35.87   
##    8       | 320  | 320 mg | 7.56  | 0.02362 | 102.2      | 0.3192       | 86.81   | 2.02 | 8.51        | 46.54         | 55.46          | 3.133    | 38.46   
##    9       | 320  | 320 mg | 9.03  | 0.02822 | 97.52      | 0.3048       | 83.94   | 0.63 | 8.406       | 45.27         | 53.25          | 3.281    | 39.79   
##    10      | 320  | 320 mg | 10.21 | 0.03191 | 167.9      | 0.5246       | 135.6   | 3.55 | 9.247       | 63.69         | 78.21          | 1.906    | 25.43   
##    11      | 320  | 320 mg | 8     | 0.025   | 86.9       | 0.2716       | 77.89   | 0.98 | 7.261       | 45.09         | 52.38          | 3.682    | 38.57   
##    12      | 320  | 320 mg | 9.75  | 0.03047 | 125.8      | 0.3932       | 115.2   | 3.52 | 6.287       | 62.59         | 74.67          | 2.543    | 23.06   
##    -----------------------------------------------------------------------------------------------------------------------------------------------------------
## Number of significant digits: 4
## USUBJID: Subject ID
## DOSE: Given dose (mg)
## INFO: Individual annotation
## Cmax: Maximum concentration (mg/L)
## Cmax_D: Dose normalized Cmax (mg/L/mg)
## AUCINF_obs: Observed Area Under the Curve Infinity (hours * mg/L)
## AUCINF_D_obs: AUC Infinity Observed Normalized by Dose (hours * mg/L/mg)
## AUClast: Area Under the Curve From Dosing to Last Concentration (hours * mg/L)
## Tmax: Time of maximum concentration (hours)
## HL_Lambda_z: Terminal Half Life (hours)
## AUC[0-8hours]: Observed AUC from 0 to 8 hours (hours * mg/L)
## AUC[0-10hours]: Observed AUC from 0 to 10 hours (hours * mg/L)
## Cl_F_obs: Observed Total Body Clearance by Fraction of Dose Absorbed (L/hours)
## Vz_F_obs: Observed Volume of Distribution of Absorbed Fraction (L)
## BLQ values after last non-BLQ value 
## BLQ values before first non-BLQ value imputed by zero.
## BLQ values between non-BLQ values imputed by LLOQ/2.
## 
## IQRoutputTable object

16.4 BestSlope algorithm

By default, IQRnca() uses the BestSlope algorithm to determine the terminal elimination slope. It sequentially fits (log(y) ~ x) from the last point of x to the previous points with at least 3 points. It chooses a slope the highest adjusted R-square. If the difference is less then the argument TOL (by default 1e-4), it pickes a longer slope. The results of the identified data points for slope calculation is basically the same between Phoenix (R) and IQRnca.

The datapoints that have been identified by the BestSlope algorithm can be reviewed by the user by plotting the NCA results. The red data points were used for slope calculation and in this case have been identified by the BestSlope algorithm. The plots, in addition, contain information about the number of datapoints used, the R2 and R2ADJ diagnostics, and the estimated terminal elimination halflife.

16.5 Manual slope point selection

In certain cases an analyst would prefer to manually specify the datapoints to be used for slope calculation. In the example below, for subject with USUBJID=1 the points 7, 8, 9, and 10 are chosen manually. For all other subjects the BestSlope algorithm will be used.

## Warning in IQRnca(dataNCA, slopePoints = list(`1` = c(7, 8, 9, 10))): No
## LLOQ information provided. LLOQ is assumed to be zero

When plotting the results again, points 7-10 for the first subject are shown in red, while the plots remain the same as in the previous example.

16.6 Individual slope calculation

Before executing an NCA, it is possible to assess slope calculation for individual subjects. The function slopeTest_IQRnca() can be used for that:

## Using best slope calculation
## 
##  Indices of data points used for slope calculation:  9 10 11 
##  Resulting R2:     0.9999997 
##  Resulting R2ADJ:  0.9999995
## Using user provided data points for slope calculation
## 
##  Indices of data points used for slope calculation:  6 7 8 9 
##  Resulting R2:     0.9819029 
##  Resulting R2ADJ:  0.9728544

16.7 IV Bolus mg/kg multiple levels

For a more comprehensive example an example dataset is provided. It contains simulated data from 18 subjects of which some are male and some are female. The example assumes data from 3 studies has been combined. Weight based dosing has been used with dose levels of 2, 10, and 20 mg/kg.

16.7.1 Original data

The contents of this dataset (15 first rows) are shown below.

Table 16.2: IV NCA dataset (15 first rows)
USUBJID STUDY GROUPN PROFNR PROFTIME NAME DV DOSE DOSEMGKG NOSLOPE GROUP SEX
Subject 1 STUDY X 10 IV Bolus Single Dose 0.15 Plasma Concentration 95.93 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 0.40 Plasma Concentration 182.88 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 1.00 Plasma Concentration 132.83 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 2.50 Plasma Concentration 107.90 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 3.50 Plasma Concentration 108.42 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 8.50 Plasma Concentration 82.08 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 16.50 Plasma Concentration 73.07 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 33.00 Plasma Concentration 42.49 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 49.50 Plasma Concentration 35.58 262 10 FALSE 10 mg/kg Male
Subject 1 STUDY X 10 IV Bolus Single Dose 66.00 Plasma Concentration 22.21 262 10 FALSE 10 mg/kg Male
Subject 2 STUDY X 10 IV Bolus Single Dose 0.15 Plasma Concentration 97.22 274 10 FALSE 10 mg/kg Male
Subject 2 STUDY X 10 IV Bolus Single Dose 0.40 Plasma Concentration 157.56 274 10 FALSE 10 mg/kg Male
Subject 2 STUDY X 10 IV Bolus Single Dose 1.00 Plasma Concentration 129.05 274 10 FALSE 10 mg/kg Male
Subject 2 STUDY X 10 IV Bolus Single Dose 2.50 Plasma Concentration 129.00 274 10 FALSE 10 mg/kg Male
Subject 2 STUDY X 10 IV Bolus Single Dose 3.50 Plasma Concentration 111.63 274 10 FALSE 10 mg/kg Male

The dataset is converted to an IQRdataNCA object, using the call below. Note that we do provide the GROUPN_label argument. This is required as GROUP and GROUPN columns are in the dataset. Furthermore, we define the argument ADDCOLS. This argument allows to include the columns in the original data, named here, into the IQRdataNCA object. Subsequently these can be used for stratification of plots and NCA results. In this case we are interested in additional columns SEX and DOSEMGKG.

16.7.2 IQRdataNCA object

The same plotting methods as shown in the example above can be used here. And we mainly exemplify new features that are possible with this example.

16.7.3 Stratified plots

Summary level plots by default are colored according to USUBJID. However, a different column in the dataset can be provided. In the following the summary level plots are shown with coloring by SEX. Just as for SEX plots can be colored by any other column, present in the IQRdataNCA object.

The stratification is not used for mean plots, such as the binned geometric mean plot for untransformed and dose-normalized data:

16.7.4 Execution NCA

An NCA can be run directly on an IQRdataNCA object, using the function IQRnca() as shown below. If run with a single argument (data only), several defaults will be used. Of main importance is that the default AUC calculation method is the Linear-Log Trapezoidal Method. More on these methods in the next subsection.

## Warning in IQRnca(dataNCA): No LLOQ information provided. LLOQ is assumed
## to be zero
##    Individual NCA results for study "STUDY X, STUDY Z, STUDY Y", profile number "IV Bolus Single Dose"                        
##    ===========================================================================================================================
## 
##    USUBJID    | DOSE | INFO     | Cmax  | Cmax_D | AUCINF_obs | AUCINF_D_obs | AUClast | Tmax | HL_Lambda_z | Cl_obs  | Vz_obs
##    ---------------------------------------------------------------------------------------------------------------------------
##    Subject 14 | 56   | 2 mg/kg  | 32.5  | 0.5804 | 538.9      | 9.624        | 501.5   | 0.05 | 24          | 0.1039  | 3.597 
##    Subject 15 | 56   | 2 mg/kg  | 33.38 | 0.5961 | 580        | 10.36        | 538.6   | 0.05 | 25.38       | 0.09655 | 3.535 
##    Subject 10 | 66   | 2 mg/kg  | 27.94 | 0.4233 | 603        | 9.136        | 549.5   | 0.05 | 26.87       | 0.1095  | 4.244 
##    Subject 11 | 76   | 2 mg/kg  | 34.86 | 0.4587 | 659.3      | 8.676        | 600.9   | 0.05 | 26.66       | 0.1153  | 4.433 
##    Subject 3  | 188  | 10 mg/kg | 135.2 | 0.7189 | 4295       | 22.84        | 3438    | 0.4  | 28.26       | 0.04378 | 1.785 
##    Subject 1  | 262  | 10 mg/kg | 182.9 | 0.698  | 4478       | 17.09        | 3566    | 0.4  | 28.48       | 0.05851 | 2.404 
##    Subject 2  | 274  | 10 mg/kg | 157.6 | 0.575  | 4980       | 18.18        | 3857    | 0.4  | 29.63       | 0.05502 | 2.352 
##    Subject 17 | 324  | 10 mg/kg | 184.7 | 0.57   | 3221       | 9.941        | 2798    | 0.05 | 39.05       | 0.1006  | 5.666 
##    Subject 16 | 381  | 10 mg/kg | 186.9 | 0.4905 | 3162       | 8.299        | 2881    | 0.05 | 28.12       | 0.1205  | 4.888 
##    Subject 18 | 464  | 10 mg/kg | 223.6 | 0.4819 | 4789       | 10.32        | 4285    | 0.05 | 28.68       | 0.09689 | 4.009 
##    Subject 7  | 567  | 20 mg/kg | 172   | 0.3033 | 2480       | 4.374        | 2256    | 0    | 19.53       | 0.2286  | 6.442 
##    Subject 12 | 604  | 20 mg/kg | 337.4 | 0.5587 | 8174       | 13.53        | 6847    | 0.05 | 42.29       | 0.07389 | 4.509 
##    Subject 13 | 630  | 20 mg/kg | 327.2 | 0.5193 | 7372       | 11.7         | 6476    | 0.15 | 29.82       | 0.08546 | 3.677 
##    Subject 9  | 651  | 20 mg/kg | 230.3 | 0.3537 | 6662       | 10.23        | 4747    | 0    | 34.31       | 0.09771 | 4.837 
##    Subject 6  | 690  | 20 mg/kg | 406.7 | 0.5894 | 8579       | 12.43        | 7229    | 0    | 23.8        | 0.08043 | 2.762 
##    Subject 8  | 718  | 20 mg/kg | 227.9 | 0.3174 | 7197       | 10.02        | 4908    | 0    | 41.98       | 0.09976 | 6.042 
##    Subject 5  | 784  | 20 mg/kg | 245.2 | 0.3127 | 8273       | 10.55        | 5172    | 0    | 46.06       | 0.09477 | 6.298 
##    Subject 4  | 875  | 20 mg/kg | 272.3 | 0.3112 | 5616       | 6.419        | 4553    | 0    | 28.37       | 0.1558  | 6.376 
##    ---------------------------------------------------------------------------------------------------------------------------
## Number of significant digits: 4
## USUBJID: Subject ID
## DOSE: Given dose (mg)
## INFO: Individual annotation
## Cmax: Maximum concentration (mg/L)
## Cmax_D: Dose normalized Cmax (mg/L/mg)
## AUCINF_obs: Observed Area Under the Curve Infinity (days * mg/L)
## AUCINF_D_obs: AUC Infinity Observed Normalized by Dose (days * mg/L/mg)
## AUClast: Area Under the Curve From Dosing to Last Concentration (days * mg/L)
## Tmax: Time of maximum concentration (days)
## HL_Lambda_z: Terminal Half Life (days)
## Cl_obs: Observed Total Body Clearance Rate (L/days)
## Vz_obs: Observed Volume of Distribution (L)
## BLQ values after last non-BLQ value 
## BLQ values before first non-BLQ value imputed by zero.
## BLQ values between non-BLQ values imputed by LLOQ/2.
## 
## IQRoutputTable object

By default the results are ordered by the DOSE.

Summary level results can be shown as follows:

##    Summary NCA results for study "STUDY X, STUDY Z, STUDY Y", profile number "IV Bolus Single Dose", (10 mg/kg, 2 mg/kg, 20 mg/kg)             
##    ============================================================================================================================================
## 
##    NAME                          | Mean (SD)        | Median (Min-Max)        | Geometric mean (CV%) | Description                             
##    --------------------------------------------------------------------------------------------------------------------------------------------
##    Cmax_D [mg/L/mg]              | 0.4921 (0.132)   | 0.5049 (0.3033-0.7189)  | 0.4744 (29.11)       | Dose normalized Cmax                    
##    AUCINF_D_obs [days * mg/L/mg] | 11.32 (4.357)    | 10.28 (4.374-22.84)     | 10.6 (38.76)         | AUC Infinity Observed Normalized by Dose
##    HL_Lambda_z [days]            | 30.63 (7.219)    | 28.42 (19.53-46.06)     | 29.88 (22.77)        | Terminal Half Life                      
##    Cl_obs [L/days]               | 0.1009 (0.04104) | 0.0973 (0.04378-0.2286) | 0.09434 (38.76)      | Observed Total Body Clearance Rate      
##    Vz_obs [L]                    | 4.325 (1.457)    | 4.338 (1.785-6.442)     | 4.067 (38.98)        | Observed Volume of Distribution         
##    --------------------------------------------------------------------------------------------------------------------------------------------
## Number subjects: 18
## Number significant digits: 4
## BLQ values after last non-BLQ value 
## BLQ values before first non-BLQ value imputed by zero.
## BLQ values between non-BLQ values imputed by LLOQ/2.
## 
## IQRoutputTable object

16.8 Stratified NCA results

Summaries for selected groups can be shown as follows:

##    Summary NCA results for study "STUDY X, STUDY Z, STUDY Y", profile number "IV Bolus Single Dose", (Male)                                     
##    =============================================================================================================================================
## 
##    NAME                          | Mean (SD)        | Median (Min-Max)         | Geometric mean (CV%) | Description                             
##    ---------------------------------------------------------------------------------------------------------------------------------------------
##    Cmax_D [mg/L/mg]              | 0.4877 (0.1439)  | 0.5193 (0.3033-0.7189)   | 0.4671 (31.74)       | Dose normalized Cmax                    
##    AUCINF_D_obs [days * mg/L/mg] | 11.68 (4.696)    | 10.36 (4.374-22.84)      | 10.84 (42.33)        | AUC Infinity Observed Normalized by Dose
##    HL_Lambda_z [days]            | 30.36 (7.578)    | 28.37 (19.53-46.06)      | 29.56 (23.95)        | Terminal Half Life                      
##    Cl_obs [L/days]               | 0.09993 (0.0449) | 0.09655 (0.04378-0.2286) | 0.09225 (42.33)      | Observed Total Body Clearance Rate      
##    Vz_obs [L]                    | 4.219 (1.552)    | 4.244 (1.785-6.442)      | 3.934 (41.7)         | Observed Volume of Distribution         
##    ---------------------------------------------------------------------------------------------------------------------------------------------
## Number subjects: 15
## Number significant digits: 4
## BLQ values after last non-BLQ value 
## BLQ values before first non-BLQ value imputed by zero.
## BLQ values between non-BLQ values imputed by LLOQ/2.
## 
## IQRoutputTable object

Comparing summaries for different groups can be shown as follows:

##    Comparison of NCA results                                                                                              
##    =======================================================================================================================
## 
##    SEX    | N  | AUCINF_D_obs [days * mg/L/mg] | Cl_obs [L/days]  | Cmax_D [mg/L/mg] | HL_Lambda_z [days] | Vz_obs [L]    
##    -----------------------------------------------------------------------------------------------------------------------
##    Female | 3  | 9.52 (1.075)                  | 0.106 (0.0127)   | 0.5141 (0.04858) | 31.95 (6.154)      | 4.854 (0.8291)
##    Male   | 15 | 11.68 (4.696)                 | 0.09993 (0.0449) | 0.4877 (0.1439)  | 30.36 (7.578)      | 4.219 (1.552) 
##    -----------------------------------------------------------------------------------------------------------------------
## Values represent Mean (SD)
## Number significant digits: 4
## CMAXD: Dose normalized Cmax
## AUCIFOD: AUC Infinity Observed Normalized by Dose
## LAMZHL: Terminal Half Life
## CLO: Observed Total Body Clearance Rate
## VZO: Observed Volume of Distribution
## 
## IQRoutputTable object
##    Comparison of NCA results                                                                                                                  
##    ===========================================================================================================================================
## 
##    STUDY   | N | AUCINF_D_obs [days * mg/L/mg] | Cl_obs [L/days]          | Cmax_D [mg/L/mg]       | HL_Lambda_z [days]  | Vz_obs [L]         
##    -------------------------------------------------------------------------------------------------------------------------------------------
##    STUDY X | 9 | 10.55 (4.374-22.84)           | 0.09477 (0.04378-0.2286) | 0.3537 (0.3033-0.7189) | 28.48 (19.53-46.06) | 4.837 (1.785-6.442)
##    STUDY Y | 3 | 9.941 (8.299-10.32)           | 0.1006 (0.09689-0.1205)  | 0.4905 (0.4819-0.57)   | 28.68 (28.12-39.05) | 4.888 (4.009-5.666)
##    STUDY Z | 6 | 9.991 (8.676-13.53)           | 0.1002 (0.07389-0.1153)  | 0.539 (0.4233-0.5961)  | 26.77 (24-42.29)    | 3.96 (3.535-4.509) 
##    -------------------------------------------------------------------------------------------------------------------------------------------
## Values represent Median (Min-Max)
## Number significant digits: 4
## CMAXD: Dose normalized Cmax
## AUCIFOD: AUC Infinity Observed Normalized by Dose
## LAMZHL: Terminal Half Life
## CLO: Observed Total Body Clearance Rate
## VZO: Observed Volume of Distribution
## 
## IQRoutputTable object

16.9 NCA plots

The generic plot() function can be used on any IQRnca output. It essentially returns a list with ggplot objects. In the following we would like to plot Cmax and AUC over the dose in mg/kg. Both untransformed and dose-normalized.

16.10 NCA for steady-state data

IQRnca() is able to handle steady-state data. It requires the additional definition of the following two input arguments:

  • tau: Numeric. Defines the length of the dosing interval in case of the use of steady-state data.
  • FLAGsteadystate: Logical. For single-dose data this has to be set to FALSE. For steady-state data this has to be set to TRUE. If steady-state data is used, the argument tau needs to be defined as well, coding for the dosing interval.

16.11 Documentation of columns in NCA results

  • b0: “Intercept of regression”
  • USUBJID: “Subject ID”
  • DOSE: “Given dose”
  • GROUP: “Default stratification group (text)”
  • GROUPN: “Default stratification group (numeric)”
  • INFO: “Individual annotation”
  • CMAX: “Maximum concentration”
  • CMAXD: “Dose normalized Cmax”
  • TMAX: “Time of maximum concentration”
  • TLAG: “Time until First Nonzero Concentration”
  • CLST: “Last positive concentration observed”
  • CLSTP: “Last positive concentration predicted”
  • TLST: “Time of last positive concentration”
  • LAMZHL: “Terminal Half Life”
  • LAMZ: “Lambda Z”
  • LAMZLL: “Lambda Z Time Lower Limit”
  • LAMZUL: “Lambda Z Time Upper Limit”
  • LAMZNPT: “Sum of Lambda Z Timepoints”
  • CORRXY: “Correlation of log(concentration) and time”
  • R2: “R-squared”
  • R2ADJ: “R-squared adjusted”
  • C0: “Back extrapolated concentration at time 0”
  • AUCLST: “Area Under the Curve From Dosing to Last Concentration”
  • AUCALL: “AUC using all the given points including trailing zero concentrations”
  • AUCIFO: “Observed Area Under the Curve Infinity”
  • AUCIFOD: “AUC Infinity Observed Normalized by Dose”
  • AUCIFP: “Predicted Area Under the Curve Infinity”
  • AUCIFPD: “Predicted Area Under the Curve Infinity by Dose”
  • AUCPEO: “Observed Area Under the Curve Percent Extrapolation”
  • AUCPEP: “Predicted Area Under the Curve Percent Extrapolation”
  • AUCPBEO: “Observed Area Under the Curve Percent Back Extrapolation”
  • AUCPBEP: “Predicted Area Under the Curve Percent Back Extrapolation”
  • AUMCLST: “Area Under the First Moment Curve From Dosing to Last Concentration”
  • AUMCIFO: “Observed Area Under the First Moment Curve Infinity”
  • AUMCIFP: “Predicted Area Under the First Moment Curve Infinity”
  • AUMCPEO: “Observed Area Under the First Moment Curve Percent Extrapolation”
  • AUMCPEP: “Predicted Area Under the First Moment Curve Percent Extrapolation”
  • MRTIVLST: “Mean Residence Time to Last Nonzero Concentration by Intravascular Dose”
  • MRTIVIFO: “Mean Residence Time Infinity Observed by Intravascular Dose”
  • MRTIVIFP: “Mean Residence Time Infinity Predicted by Intravascular Dose”
  • MRTEVLST: “Mean Residence Time to Last Nonzero Concentration by Extravascular Dose”
  • MRTEVIFO: “Mean Residence Time Infinity Observed by Extravascular Dose”
  • MRTEVIFP: “Mean Residence Time Infinity Predicted by Extravascular Dose”
  • VZO: “Observed Volume of Distribution”
  • VZP: “Predicted Volume of Distribution”
  • VZFO: “Observed Volume of Distribution of Absorbed Fraction”
  • VZFP: “Predicted Volume of Distribution of Absorbed Fraction”
  • CLO: “Observed Total Body Clearance Rate”
  • CLP: “Predicted Total Body Clearance Rate”
  • CLFO: “Observed Total Body Clearance by Fraction of Dose Absorbed”
  • CLFP: “Predicted Total Body Clearance by Fraction of Dose Absorbed”
  • VSSO: “Observed Steady State Volume of Distribution”
  • VSSP: “Predicted Steady State Volume of Distribution”
  • VZSS: “Volume of distribution determined for steady-state data”
  • VZFSS: “Volume of distribution determined for steady-state data by Fraction of Dose Absorbed”
  • CLSS: “Total Body Clearance Rate determined for steady-state data”
  • CLFSS: “Total Body Clearance Rate determined for steady-state data by Fraction of Dose Absorbed”
  • AUCTAU: “AUC calculated over one dosing interval for steady-state analysis”
  • AUCTAUD: “AUC calculated over one dosing interval for steady-state analysis Normalized by Dose”
  • TAU: “Dosing interval for steady-state analysis”
  • CMIN: “Minimum concentration over dosing interval”
  • CMIND: “Dose normalized Cmin”
  • TMIN: “Time of minimum concentration”

16.12 Reporting to Word

All print(), summary(), and plot() functions applied to IQRdataNCA and IQRnca objects have the argument filename, allowing to export all results to either PDF files (plots) or table text file (tables). These elements can efficiently reported to Microsoft Word with the IQReport software.

If IQReport is installed on the system, the wrapper function report_IQRnca() can be used to provide a simple Word report for a specific IQRnca results. Note that this report is basic and the main purpose is the demonstration that reporting to Word is easy with the right tools.

An example for the generated report can be seen here: simpleReport.docx