calculate_half_life {gammaFuncModel}R Documentation

Function that produces Half-life property for a single individual in a particular group, for a specific metabolite

Description

Function that produces Half-life property for a single individual in a particular group, for a specific metabolite

Usage

calculate_half_life(f, Tmax, Cmax)

Arguments

f

function that returns the prediction of a metabolite concentration, for a single individual in a particular group

Tmax

Tmax property of a metabolite, for a single individual in a particular group

Cmax

Cmax property of a metabolite, for a single individual in a particular group

Value

Half-life for this metabolite, in a particular group for a single individual

References

Wickham, H. (2022). dplyr: A Grammar of Data Manipulation. R package version 1.0.10. Available at: https://CRAN.R-project.org/package=dplyr

Pinheiro, J. C., & Bates, D. M. (2022). nlme: Linear and Nonlinear Mixed Effects Models. R package version 3.1-153. Available at: https://CRAN.R-project.org/package=nlme

Examples

require(gammaFuncModel)
require(rootSolve)
require(dplyr)
require(nlme)

modify.df <- data.frame(
  ID = rep(sprintf("%02d", 1:10), each = 9 * 3),
  Time = rep(rep(1:9, each = 3), 10),
  Diet = as.factor(rep(1:3, times = 9 * 10)),
  Age = rep(sample(20:70, 10, replace = TRUE), each = 9 * 3),
  BMI = round(rep(runif(10, 18.5, 35), each = 9 * 3), 1),
  Concentration = NA
)
for (i in 1:10) {
 for (d in 1:3) {
   C0 <- runif(1, 10, 15)    # initial concentration
   k <- runif(1, 0.1, 0.3)   # decay rate constant
   modify.df$Concentration[modify.df$ID == sprintf("%02d", i) & modify.df$Diet == d] <- 
     C0 * exp(-k * modify.df$Time[modify.df$ID == sprintf("%02d", i) & modify.df$Diet == d])
 }
}
covariates <- c("ID", "Diet", "Age", "BMI")
model <- gammaFunction(
  modify.df, 
  covariates, 
  time_grp_inter = FALSE, 
  return_ml_model = FALSE, 
  include_grp = TRUE
  )[[1]]
test_data = modify.df %>% 
  filter(Diet == 1 & ID == "03") %>% 
  select(-c("Concentration", "ID", "Diet")) 
Tmax <- calculate_Tmax(data = test_data, model, grp_var = 1, ID = "03", grp_name = 'Diet', ref = 1)
Cmax <- calculate_Cmax(data = test_data, model, grp_var = 1, ID = "03", grp_name = "Diet", Tmax)
f_dat = modify.df %>% filter(Diet == 1 & ID == "03") %>% select(-Concentration)
f <- generate_f_function(
  data = f_dat, 
  model = model,  
  grp_var = 1, 
  grp_name = "Diet", 
  ID = "03", 
  ref = 1)
half_life <- calculate_half_life(f, Tmax, Cmax)


[Package gammaFuncModel version 5.0 Index]