Computing NCA Parameters for Theophylline

Bill Denney

Examples simplify understanding. Below is an example of how to use the theophylline dataset to generate NCA parameters.

Load the data

## It is always a good idea to look at the data
knitr::kable(head(datasets::Theoph))
Subject Wt Dose Time conc
1 79.6 4.02 0.00 0.74
1 79.6 4.02 0.25 2.84
1 79.6 4.02 0.57 6.57
1 79.6 4.02 1.12 10.50
1 79.6 4.02 2.02 9.66
1 79.6 4.02 3.82 8.58

The columns that we will be interested in for our analysis are conc, Time, and Subject in the concentration data set and Dose, Time, and Subject for the dosing data set.

## By default it is groupedData; convert it to a data frame for use
conc_obj <- PKNCAconc(as.data.frame(datasets::Theoph), conc~Time|Subject)

## Dosing data needs to only have one row per dose, so subset for
## that first.
d_dose <- unique(datasets::Theoph[datasets::Theoph$Time == 0,
                                  c("Dose", "Time", "Subject")])
knitr::kable(d_dose,
             caption="Example dosing data extracted from theophylline data set")
Example dosing data extracted from theophylline data set
Dose Time Subject
1 4.02 0 1
12 4.40 0 2
23 4.53 0 3
34 4.40 0 4
45 5.86 0 5
56 4.00 0 6
67 4.95 0 7
78 4.53 0 8
89 3.10 0 9
100 5.50 0 10
111 4.92 0 11
122 5.30 0 12
dose_obj <- PKNCAdose(d_dose, Dose~Time|Subject)

Merge the Concentration and Dose

After loading the data, they must be combined to prepare for parameter calculation. Intervals for calculation will automatically be selected based on the single.dose.aucs setting in PKNCA.options

data_obj_automatic <- PKNCAdata(conc_obj, dose_obj)
knitr::kable(PKNCA.options("single.dose.aucs"))
start end auclast aucall aumclast aumcall aucint.last aucint.last.dose aucint.all aucint.all.dose auclast.dn aucall.dn aumclast.dn aumcall.dn cmax cmin tmax tlast tfirst clast.obs cl.last cl.all f mrt.last mrt.iv.last vss.last vss.iv.last cav ctrough ptr tlag deg.fluc swing ceoi ae clr.last clr.obs clr.pred fe half.life r.squared adj.r.squared lambda.z lambda.z.time.first lambda.z.n.points clast.pred span.ratio cmax.dn cmin.dn clast.obs.dn clast.pred.dn cav.dn ctrough.dn thalf.eff.last thalf.eff.iv.last kel.last kel.iv.last aucinf.obs aucinf.pred aumcinf.obs aumcinf.pred aucint.inf.obs aucint.inf.obs.dose aucint.inf.pred aucint.inf.pred.dose aucinf.obs.dn aucinf.pred.dn aumcinf.obs.dn aumcinf.pred.dn aucpext.obs aucpext.pred cl.obs cl.pred mrt.obs mrt.pred mrt.iv.obs mrt.iv.pred mrt.md.obs mrt.md.pred vz.obs vz.pred vss.obs vss.pred vss.iv.obs vss.iv.pred vss.md.obs vss.md.pred vd.obs vd.pred thalf.eff.obs thalf.eff.pred thalf.eff.iv.obs thalf.eff.iv.pred kel.obs kel.pred kel.iv.obs kel.iv.pred
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
knitr::kable(data_obj_automatic$intervals)
start end auclast aucall aumclast aumcall aucint.last aucint.last.dose aucint.all aucint.all.dose auclast.dn aucall.dn aumclast.dn aumcall.dn cmax cmin tmax tlast tfirst clast.obs cl.last cl.all f mrt.last mrt.iv.last vss.last vss.iv.last cav ctrough ptr tlag deg.fluc swing ceoi ae clr.last clr.obs clr.pred fe half.life r.squared adj.r.squared lambda.z lambda.z.time.first lambda.z.n.points clast.pred span.ratio cmax.dn cmin.dn clast.obs.dn clast.pred.dn cav.dn ctrough.dn thalf.eff.last thalf.eff.iv.last kel.last kel.iv.last aucinf.obs aucinf.pred aumcinf.obs aumcinf.pred aucint.inf.obs aucint.inf.obs.dose aucint.inf.pred aucint.inf.pred.dose aucinf.obs.dn aucinf.pred.dn aumcinf.obs.dn aumcinf.pred.dn aucpext.obs aucpext.pred cl.obs cl.pred mrt.obs mrt.pred mrt.iv.obs mrt.iv.pred mrt.md.obs mrt.md.pred vz.obs vz.pred vss.obs vss.pred vss.iv.obs vss.iv.pred vss.md.obs vss.md.pred vd.obs vd.pred thalf.eff.obs thalf.eff.pred thalf.eff.iv.obs thalf.eff.iv.pred kel.obs kel.pred kel.iv.obs kel.iv.pred Subject
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 1
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 1
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 2
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 2
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 3
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 3
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 4
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 4
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 5
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 5
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 6
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 6
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 7
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 7
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 8
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 8
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 9
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 9
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 10
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 10
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 11
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 11
0 24 TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 12
0 Inf FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE 12

Intervals for calculation can also be specified manually. Manual specification requires at least columns for start time, end time, and the parameters requested. The manual specification can also include any grouping factors from the concentration data set. Column order of the intervals is not important. When intervals are manually specified, they are expanded to the full interval set when added to a PKNCAdata object (in other words, a column is created for each parameter. Also, PKNCA automatically calculates parameters required for the NCA, so while lambda.z is required for calculating AUC0-\(\infinity\), you do not have to specify it in the parameters requested.

intervals_manual <- data.frame(start=0,
                               end=Inf,
                               cmax=TRUE,
                               tmax=TRUE,
                               aucinf.obs=TRUE,
                               auclast=TRUE)
data_obj_manual <- PKNCAdata(conc_obj, dose_obj,
                             intervals=intervals_manual)
knitr::kable(data_obj_manual$intervals)
start end auclast aucall aumclast aumcall aucint.last aucint.last.dose aucint.all aucint.all.dose auclast.dn aucall.dn aumclast.dn aumcall.dn cmax cmin tmax tlast tfirst clast.obs cl.last cl.all f mrt.last mrt.iv.last vss.last vss.iv.last cav ctrough ptr tlag deg.fluc swing ceoi ae clr.last clr.obs clr.pred fe half.life r.squared adj.r.squared lambda.z lambda.z.time.first lambda.z.n.points clast.pred span.ratio cmax.dn cmin.dn clast.obs.dn clast.pred.dn cav.dn ctrough.dn thalf.eff.last thalf.eff.iv.last kel.last kel.iv.last aucinf.obs aucinf.pred aumcinf.obs aumcinf.pred aucint.inf.obs aucint.inf.obs.dose aucint.inf.pred aucint.inf.pred.dose aucinf.obs.dn aucinf.pred.dn aumcinf.obs.dn aumcinf.pred.dn aucpext.obs aucpext.pred cl.obs cl.pred mrt.obs mrt.pred mrt.iv.obs mrt.iv.pred mrt.md.obs mrt.md.pred vz.obs vz.pred vss.obs vss.pred vss.iv.obs vss.iv.pred vss.md.obs vss.md.pred vd.obs vd.pred thalf.eff.obs thalf.eff.pred thalf.eff.iv.obs thalf.eff.iv.pred kel.obs kel.pred kel.iv.obs kel.iv.pred
0 Inf TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE

Compute the parameters

Parameter calculation will automatically split the data by the grouping factor(s), subset by the interval, calculate all required parameters, record all options used for the calculations, and include data provenance to show that the calculation was performed as described. For all this, just call the pk.nca function with your PKNCAdata object.

results_obj_automatic <- pk.nca(data_obj_automatic)
knitr::kable(head(as.data.frame(results_obj_automatic)))
start end Subject PPTESTCD PPORRES exclude
0 24 1 auclast 92.365442 NA
0 Inf 1 cmax 10.500000 NA
0 Inf 1 tmax 1.120000 NA
0 Inf 1 tlast 24.370000 NA
0 Inf 1 clast.obs 3.280000 NA
0 Inf 1 lambda.z 0.048457 NA
summary(results_obj_automatic)
start end N auclast cmax tmax half.life aucinf.obs
0 24 12 74.6 [24.3] . . . .
0 Inf 12 . 8.65 [17.0] 1.14 [0.630, 3.55] 8.18 [2.12] 115 [28.4]
results_obj_manual <- pk.nca(data_obj_manual)
knitr::kable(head(as.data.frame(results_obj_manual)))
start end Subject PPTESTCD PPORRES exclude
0 Inf 1 auclast 147.234748 NA
0 Inf 1 cmax 10.500000 NA
0 Inf 1 tmax 1.120000 NA
0 Inf 1 tlast 24.370000 NA
0 Inf 1 clast.obs 3.280000 NA
0 Inf 1 lambda.z 0.048457 NA
summary(results_obj_manual)
start end N auclast cmax tmax aucinf.obs
0 Inf 12 98.7 [22.5] 8.65 [17.0] 1.14 [0.630, 3.55] 115 [28.4]

Multiple Dose Example

Assessing multiple dose pharmacokinetics is conceptually the same as single-dose in PKNCA.

To assess multiple dose PK, the theophylline data will be extended from single to multiple doses using superposition (see the Superposition vignette for more information).

d_conc <- PKNCAconc(as.data.frame(Theoph), conc~Time|Subject)
conc_obj_multi <-
  PKNCAconc(
    superposition(d_conc,
                  tau=168,
                  dose.times=seq(0, 144, by=24),
                  n.tau=1,
                  check.blq=FALSE),
    conc~time|Subject)
conc_obj_multi
## Formula for concentration:
##  conc ~ time | Subject
## With 12 subjects defined in the 'Subject' column.
## Nominal time column is not specified.
## 
## First 6 rows of concentration data:
##  Subject     conc time exclude volume duration
##        1  0.74000 0.00    <NA>     NA        0
##        1  2.84000 0.25    <NA>     NA        0
##        1  4.23875 0.37    <NA>     NA        0
##        1  6.57000 0.57    <NA>     NA        0
##        1 10.50000 1.12    <NA>     NA        0
##        1  9.66000 2.02    <NA>     NA        0
dose_obj_multi <- PKNCAdose(expand.grid(Subject=unique(conc_obj_multi$data$Subject),
                                      time=seq(0, 144, by=24)),
                          ~time|Subject)
dose_obj_multi
## Formula for dosing:
##  ~time | Subject
## Nominal time column is not specified.
## 
## First 6 rows of dosing data:
##  Subject time exclude         route duration
##        1    0    <NA> extravascular        0
##        2    0    <NA> extravascular        0
##        3    0    <NA> extravascular        0
##        4    0    <NA> extravascular        0
##        5    0    <NA> extravascular        0
##        6    0    <NA> extravascular        0

The superposition-simulated scenario is not especially realistic as it includes dense sampling on every day. With this scenario, the intervals automatically selected have an interval for every subject on every day.

data_obj <- PKNCAdata(conc_obj_multi, dose_obj_multi)
data_obj$intervals[,c("Subject", "start", "end")]
##    Subject start end
## 1        1     0  24
## 2        1    24  48
## 3        1    48  72
## 4        1    72  96
## 5        1    96 120
## 6        1   120 144
## 7        1   144 168
## 8        2     0  24
## 9        2    24  48
## 10       2    48  72
## 11       2    72  96
## 12       2    96 120
## 13       2   120 144
## 14       2   144 168
## 15       3     0  24
## 16       3    24  48
## 17       3    48  72
## 18       3    72  96
## 19       3    96 120
## 20       3   120 144
## 21       3   144 168
## 22       4     0  24
## 23       4    24  48
## 24       4    48  72
## 25       4    72  96
## 26       4    96 120
## 27       4   120 144
## 28       4   144 168
## 29       5     0  24
## 30       5    24  48
## 31       5    48  72
## 32       5    72  96
## 33       5    96 120
## 34       5   120 144
## 35       5   144 168
## 36       6     0  24
## 37       6    24  48
## 38       6    48  72
## 39       6    72  96
## 40       6    96 120
## 41       6   120 144
## 42       6   144 168
## 43       7     0  24
## 44       7    24  48
## 45       7    48  72
## 46       7    72  96
## 47       7    96 120
## 48       7   120 144
## 49       7   144 168
## 50       8     0  24
## 51       8    24  48
## 52       8    48  72
## 53       8    72  96
## 54       8    96 120
## 55       8   120 144
## 56       8   144 168
## 57       9     0  24
## 58       9    24  48
## 59       9    48  72
## 60       9    72  96
## 61       9    96 120
## 62       9   120 144
## 63       9   144 168
## 64      10     0  24
## 65      10    24  48
## 66      10    48  72
## 67      10    72  96
## 68      10    96 120
## 69      10   120 144
## 70      10   144 168
## 71      11     0  24
## 72      11    24  48
## 73      11    48  72
## 74      11    72  96
## 75      11    96 120
## 76      11   120 144
## 77      11   144 168
## 78      12     0  24
## 79      12    24  48
## 80      12    48  72
## 81      12    72  96
## 82      12    96 120
## 83      12   120 144
## 84      12   144 168

In a more realistic scenario, dense PK sampling occurs for every subject on the first and last days. To select those intervals manually, specify the intervals of interest in the intervals argument to the PKNCAdata function call. The intervals are automatically expanded not to calculate anything that was not requested.

intervals_manual <- data.frame(start=c(0, 144),
                               end=c(24, 168),
                               cmax=TRUE,
                               auclast=TRUE)
data_obj <- PKNCAdata(conc_obj_multi, dose_obj_multi,
                      intervals=intervals_manual)
data_obj$intervals
##   start end auclast aucall aumclast aumcall aucint.last aucint.last.dose
## 1     0  24    TRUE  FALSE    FALSE   FALSE       FALSE            FALSE
## 2   144 168    TRUE  FALSE    FALSE   FALSE       FALSE            FALSE
##   aucint.all aucint.all.dose auclast.dn aucall.dn aumclast.dn aumcall.dn
## 1      FALSE           FALSE      FALSE     FALSE       FALSE      FALSE
## 2      FALSE           FALSE      FALSE     FALSE       FALSE      FALSE
##   cmax  cmin  tmax tlast tfirst clast.obs cl.last cl.all     f mrt.last
## 1 TRUE FALSE FALSE FALSE  FALSE     FALSE   FALSE  FALSE FALSE    FALSE
## 2 TRUE FALSE FALSE FALSE  FALSE     FALSE   FALSE  FALSE FALSE    FALSE
##   mrt.iv.last vss.last vss.iv.last   cav ctrough   ptr  tlag deg.fluc
## 1       FALSE    FALSE       FALSE FALSE   FALSE FALSE FALSE    FALSE
## 2       FALSE    FALSE       FALSE FALSE   FALSE FALSE FALSE    FALSE
##   swing  ceoi    ae clr.last clr.obs clr.pred    fe half.life r.squared
## 1 FALSE FALSE FALSE    FALSE   FALSE    FALSE FALSE     FALSE     FALSE
## 2 FALSE FALSE FALSE    FALSE   FALSE    FALSE FALSE     FALSE     FALSE
##   adj.r.squared lambda.z lambda.z.time.first lambda.z.n.points clast.pred
## 1         FALSE    FALSE               FALSE             FALSE      FALSE
## 2         FALSE    FALSE               FALSE             FALSE      FALSE
##   span.ratio cmax.dn cmin.dn clast.obs.dn clast.pred.dn cav.dn ctrough.dn
## 1      FALSE   FALSE   FALSE        FALSE         FALSE  FALSE      FALSE
## 2      FALSE   FALSE   FALSE        FALSE         FALSE  FALSE      FALSE
##   thalf.eff.last thalf.eff.iv.last kel.last kel.iv.last aucinf.obs
## 1          FALSE             FALSE    FALSE       FALSE      FALSE
## 2          FALSE             FALSE    FALSE       FALSE      FALSE
##   aucinf.pred aumcinf.obs aumcinf.pred aucint.inf.obs aucint.inf.obs.dose
## 1       FALSE       FALSE        FALSE          FALSE               FALSE
## 2       FALSE       FALSE        FALSE          FALSE               FALSE
##   aucint.inf.pred aucint.inf.pred.dose aucinf.obs.dn aucinf.pred.dn
## 1           FALSE                FALSE         FALSE          FALSE
## 2           FALSE                FALSE         FALSE          FALSE
##   aumcinf.obs.dn aumcinf.pred.dn aucpext.obs aucpext.pred cl.obs cl.pred
## 1          FALSE           FALSE       FALSE        FALSE  FALSE   FALSE
## 2          FALSE           FALSE       FALSE        FALSE  FALSE   FALSE
##   mrt.obs mrt.pred mrt.iv.obs mrt.iv.pred mrt.md.obs mrt.md.pred vz.obs
## 1   FALSE    FALSE      FALSE       FALSE      FALSE       FALSE  FALSE
## 2   FALSE    FALSE      FALSE       FALSE      FALSE       FALSE  FALSE
##   vz.pred vss.obs vss.pred vss.iv.obs vss.iv.pred vss.md.obs vss.md.pred
## 1   FALSE   FALSE    FALSE      FALSE       FALSE      FALSE       FALSE
## 2   FALSE   FALSE    FALSE      FALSE       FALSE      FALSE       FALSE
##   vd.obs vd.pred thalf.eff.obs thalf.eff.pred thalf.eff.iv.obs
## 1  FALSE   FALSE         FALSE          FALSE            FALSE
## 2  FALSE   FALSE         FALSE          FALSE            FALSE
##   thalf.eff.iv.pred kel.obs kel.pred kel.iv.obs kel.iv.pred
## 1             FALSE   FALSE    FALSE      FALSE       FALSE
## 2             FALSE   FALSE    FALSE      FALSE       FALSE

After the data is ready, the calculations and summary can progress.

results_obj <- pk.nca(data_obj)
print(results_obj)
## $result
##    start end Subject PPTESTCD    PPORRES exclude
## 1      0  24       1  auclast 151.189916    <NA>
## 2      0  24       1     cmax  10.500000    <NA>
## 3    144 168       1  auclast 214.860975    <NA>
## 4    144 168       1     cmax  15.096727    <NA>
## 5      0  24       2  auclast  88.457261    <NA>
## 6      0  24       2     cmax   8.330000    <NA>
## 7    144 168       2  auclast  97.381127    <NA>
## 8    144 168       2     cmax   9.221742    <NA>
## 9      0  24       3  auclast  95.698098    <NA>
## 10     0  24       3     cmax   8.200000    <NA>
## 11   144 168       3  auclast 106.131322    <NA>
## 12   144 168       3     cmax   9.252474    <NA>
## 13     0  24       4  auclast 101.860775    <NA>
## 14     0  24       4     cmax   8.600000    <NA>
## 15   144 168       4  auclast 114.219220    <NA>
## 16   144 168       4     cmax   9.815170    <NA>
## 17     0  24       5  auclast 117.621805    <NA>
## 18     0  24       5     cmax  11.400000    <NA>
## 19   144 168       5  auclast 136.309916    <NA>
## 20   144 168       5     cmax  13.096191    <NA>
## 21     0  24       6  auclast  71.834110    <NA>
## 22     0  24       6     cmax   6.440000    <NA>
## 23   144 168       6  auclast  82.177601    <NA>
## 24   144 168       6     cmax   7.374375    <NA>
## 25     0  24       7  auclast  89.021716    <NA>
## 26     0  24       7     cmax   7.090000    <NA>
## 27   144 168       7  auclast 100.992404    <NA>
## 28   144 168       7     cmax   8.069847    <NA>
## 29     0  24       8  auclast  86.655906    <NA>
## 30     0  24       8     cmax   7.560000    <NA>
## 31   144 168       8  auclast 102.163105    <NA>
## 32   144 168       8     cmax   8.807391    <NA>
## 33     0  24       9  auclast  83.447367    <NA>
## 34     0  24       9     cmax   9.030000    <NA>
## 35   144 168       9  auclast  97.525881    <NA>
## 36   144 168       9     cmax  10.308349    <NA>
## 37     0  24      10  auclast 136.329998    <NA>
## 38     0  24      10     cmax  10.210000    <NA>
## 39   144 168      10  auclast 167.865640    <NA>
## 40   144 168      10     cmax  12.382817    <NA>
## 41     0  24      11  auclast  77.824409    <NA>
## 42     0  24      11     cmax   8.000000    <NA>
## 43   144 168      11  auclast  86.903095    <NA>
## 44   144 168      11     cmax   8.878024    <NA>
## 45     0  24      12  auclast 115.043218    <NA>
## 46     0  24      12     cmax   9.750000    <NA>
## 47   144 168      12  auclast 125.838198    <NA>
## 48   144 168      12     cmax  10.746939    <NA>
## 
## $data
## Formula for concentration:
##  conc ~ time | Subject
## With 12 subjects defined in the 'Subject' column.
## Nominal time column is not specified.
## 
## First 6 rows of concentration data:
##  Subject     conc time exclude volume duration
##        1  0.74000 0.00    <NA>     NA        0
##        1  2.84000 0.25    <NA>     NA        0
##        1  4.23875 0.37    <NA>     NA        0
##        1  6.57000 0.57    <NA>     NA        0
##        1 10.50000 1.12    <NA>     NA        0
##        1  9.66000 2.02    <NA>     NA        0
## Formula for dosing:
##  timeX ~ (time | Subject)
## Nominal time column is not specified.
## 
## First 6 rows of dosing data:
##  Subject time exclude         route duration timeX
##        1    0    <NA> extravascular        0    NA
##        2    0    <NA> extravascular        0    NA
##        3    0    <NA> extravascular        0    NA
##        4    0    <NA> extravascular        0    NA
##        5    0    <NA> extravascular        0    NA
##        6    0    <NA> extravascular        0    NA
## 
## With 2 rows of AUC specifications.
## Options changed from default are:
## $adj.r.squared.factor
## [1] 1e-04
## 
## $max.missing
## [1] 0.5
## 
## $auc.method
## [1] "lin up/log down"
## 
## $conc.na
## [1] "drop"
## 
## $conc.blq
## $conc.blq$first
## [1] "keep"
## 
## $conc.blq$middle
## [1] "drop"
## 
## $conc.blq$last
## [1] "keep"
## 
## 
## $first.tmax
## [1] TRUE
## 
## $allow.tmax.in.half.life
## [1] FALSE
## 
## $min.hl.points
## [1] 3
## 
## $min.span.ratio
## [1] 2
## 
## $max.aucinf.pext
## [1] 20
## 
## $min.hl.r.squared
## [1] 0.9
## 
## $tau.choices
## [1] NA
## 
## $single.dose.aucs
##   start end auclast aucall aumclast aumcall aucint.last aucint.last.dose
## 1     0  24    TRUE  FALSE    FALSE   FALSE       FALSE            FALSE
## 2     0 Inf   FALSE  FALSE    FALSE   FALSE       FALSE            FALSE
##   aucint.all aucint.all.dose auclast.dn aucall.dn aumclast.dn aumcall.dn
## 1      FALSE           FALSE      FALSE     FALSE       FALSE      FALSE
## 2      FALSE           FALSE      FALSE     FALSE       FALSE      FALSE
##    cmax  cmin  tmax tlast tfirst clast.obs cl.last cl.all     f mrt.last
## 1 FALSE FALSE FALSE FALSE  FALSE     FALSE   FALSE  FALSE FALSE    FALSE
## 2  TRUE FALSE  TRUE FALSE  FALSE     FALSE   FALSE  FALSE FALSE    FALSE
##   mrt.iv.last vss.last vss.iv.last   cav ctrough   ptr  tlag deg.fluc
## 1       FALSE    FALSE       FALSE FALSE   FALSE FALSE FALSE    FALSE
## 2       FALSE    FALSE       FALSE FALSE   FALSE FALSE FALSE    FALSE
##   swing  ceoi    ae clr.last clr.obs clr.pred    fe half.life r.squared
## 1 FALSE FALSE FALSE    FALSE   FALSE    FALSE FALSE     FALSE     FALSE
## 2 FALSE FALSE FALSE    FALSE   FALSE    FALSE FALSE      TRUE     FALSE
##   adj.r.squared lambda.z lambda.z.time.first lambda.z.n.points clast.pred
## 1         FALSE    FALSE               FALSE             FALSE      FALSE
## 2         FALSE    FALSE               FALSE             FALSE      FALSE
##   span.ratio cmax.dn cmin.dn clast.obs.dn clast.pred.dn cav.dn ctrough.dn
## 1      FALSE   FALSE   FALSE        FALSE         FALSE  FALSE      FALSE
## 2      FALSE   FALSE   FALSE        FALSE         FALSE  FALSE      FALSE
##   thalf.eff.last thalf.eff.iv.last kel.last kel.iv.last aucinf.obs
## 1          FALSE             FALSE    FALSE       FALSE      FALSE
## 2          FALSE             FALSE    FALSE       FALSE       TRUE
##   aucinf.pred aumcinf.obs aumcinf.pred aucint.inf.obs aucint.inf.obs.dose
## 1       FALSE       FALSE        FALSE          FALSE               FALSE
## 2       FALSE       FALSE        FALSE          FALSE               FALSE
##   aucint.inf.pred aucint.inf.pred.dose aucinf.obs.dn aucinf.pred.dn
## 1           FALSE                FALSE         FALSE          FALSE
## 2           FALSE                FALSE         FALSE          FALSE
##   aumcinf.obs.dn aumcinf.pred.dn aucpext.obs aucpext.pred cl.obs cl.pred
## 1          FALSE           FALSE       FALSE        FALSE  FALSE   FALSE
## 2          FALSE           FALSE       FALSE        FALSE  FALSE   FALSE
##   mrt.obs mrt.pred mrt.iv.obs mrt.iv.pred mrt.md.obs mrt.md.pred vz.obs
## 1   FALSE    FALSE      FALSE       FALSE      FALSE       FALSE  FALSE
## 2   FALSE    FALSE      FALSE       FALSE      FALSE       FALSE  FALSE
##   vz.pred vss.obs vss.pred vss.iv.obs vss.iv.pred vss.md.obs vss.md.pred
## 1   FALSE   FALSE    FALSE      FALSE       FALSE      FALSE       FALSE
## 2   FALSE   FALSE    FALSE      FALSE       FALSE      FALSE       FALSE
##   vd.obs vd.pred thalf.eff.obs thalf.eff.pred thalf.eff.iv.obs
## 1  FALSE   FALSE         FALSE          FALSE            FALSE
## 2  FALSE   FALSE         FALSE          FALSE            FALSE
##   thalf.eff.iv.pred kel.obs kel.pred kel.iv.obs kel.iv.pred
## 1             FALSE   FALSE    FALSE      FALSE       FALSE
## 2             FALSE   FALSE    FALSE      FALSE       FALSE
## 
## 
## $exclude
## [1] "exclude"
## 
## attr(,"class")
## [1] "PKNCAresults" "list"        
## attr(,"provenance")
## Provenance hash 51b59f882a9f3a2811324a5ff10bb22b generated on 2019-07-28 14:52:54 with R version 3.6.1 (2019-07-05).
summary(results_obj)
##  start end  N     auclast        cmax
##      0  24 12 98.8 [23.0] 8.65 [17.0]
##    144 168 12  115 [28.4] 10.0 [21.0]
## 
## Caption: auclast, cmax: geometric mean and geometric coefficient of variation