knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(PKNCA) library(knitr) library(ggplot2) scale_colour_discrete <- scale_colour_hue scale_fill_discrete <- scale_fill_hue scale_colour_ordinal <- scale_colour_hue scale_fill_ordinal <- scale_fill_hue
Time to steady-state (TSS) can be estimated with PKNCA using either a monoexponential increase toward an asymptote or by a linear regression of the last points. According to Maganti (2008), the monoexponential method is preferred.
TSS can be estimated using either method using the pk.tss()
function in PKNCA.
Illustrating time to steady-state, the example from the superposition vignette will be used.
library(PKNCA) theoph_corrected <- as.data.frame(datasets::Theoph) theoph_corrected$conc[theoph_corrected$Time == 0] <- 0 conc_obj <- PKNCAconc(theoph_corrected, conc~Time|Subject) steady_state <- superposition(conc_obj, dose.times = seq(0, 168 - 12, by=12), tau=168, n.tau=1) # Add some noise to the data so that it seems more reasonable steady_state_noise <- steady_state steady_state_noise$conc <- withr::with_seed( seed = 5, steady_state_noise$conc*exp(rnorm(nrow(steady_state_noise), mean = 0, sd = 0.1)) )
Examine the data graphically.
library(ggplot2) ggplot(steady_state_noise, aes(x=time, y=conc, groups=Subject)) + geom_line()
The below code estimates four different types of monoexponential time to steady-state:
tss_mono <- pk.tss.monoexponential( conc = steady_state_noise$conc, time = steady_state_noise$time, subject = steady_state_noise$Subject, time.dosing = seq(0, 168 - 12, by=12) ) tss_mono
The fraction of steady-state required for time to steady-state can be changed
with the tss.fraction
argument (see ?pk.tss.monoexponential
).
The stepwise linear method estimates if the slope of the predose concentrations is statistically significant starting from the last measurement and moving backward in time. It has bias in that more individuals will move the time to steady-state to a late time point.
tss_step <- pk.tss.stepwise.linear( conc = steady_state_noise$conc, time = steady_state_noise$time, subject = steady_state_noise$Subject, time.dosing = seq(0, 168 - 12, by=12) ) tss_step
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.