fit_dynamic_inactivation: Fitting of Dynamic Inactivation Models

View source: R/dynamic_fit.R

fit_dynamic_inactivationR Documentation

Fitting of Dynamic Inactivation Models

Description

Fits the parameters of an inactivation model to experimental data. The function modFit of the package FME is used for the adjustment.

Usage

fit_dynamic_inactivation(
  experiment_data,
  simulation_model,
  temp_profile,
  starting_points,
  upper_bounds,
  lower_bounds,
  known_params,
  ...,
  minimize_log = TRUE,
  tol0 = 1e-05
)

Arguments

experiment_data

data frame with the experimental data to be adjusted. It must have a column named “time” and another one named “N”.

simulation_model

character identifying the model to be used.

temp_profile

data frame with discrete values of the temperature for each time. It must have one column named time and another named temperature providing discrete values of the temperature at time points.

starting_points

starting values of the parameters for the adjustment.

upper_bounds

named numerical vector defining the upper bounds of the parameters for the adjustment.

lower_bounds

named numerical vector defining the lower bounds of the parameters for the adjustment.

known_params

named numerical vector with the fixed (i.e., not adjustable) model parameters.

...

further arguments passed to modFit

minimize_log

logical. If TRUE, the adjustment is based on the minimization of the error of the logarithmic count. TRUE by default.

tol0

numeric. Observations at time 0 make Weibull-based models singular. The time for observatins taken at time 0 are changed for this value.

Value

A list of class FitInactivation with the following items:

  • fit_results: a list of class modFit with the info of the adjustment.

  • best_prediction: a list of class SimulInactivation with prediction made by the adjusted model.

  • data: a data frame with the data used for the fitting.

See Also

modFit

Examples

## EXAMPLE 1 ------

data(dynamic_inactivation)  # The example data set is used.

get_model_data()  # Retrieve the valid model keys.

simulation_model <- "Peleg"  # Peleg's model will be used

model_data <- get_model_data(simulation_model)
model_data$parameters  # Set the model parameters

dummy_temp <- data.frame(time = c(0, 1.25, 2.25, 4.6),
                         temperature = c(70, 105, 105, 70))  # Dummy temp. profile

## Set known parameters and initial points/bounds for unknown ones

known_params = c(temp_crit = 100)

starting_points <- c(n = 1, k_b = 0.25, N0 = 1e+05)
upper_bounds <- c(n = 2, k_b = 1, N0 = Inf)
lower_bounds <- c(n = 0, k_b = 0, N0 = 1e4)

dynamic_fit <- fit_dynamic_inactivation(dynamic_inactivation, simulation_model,
                                        dummy_temp, starting_points,
                                        upper_bounds, lower_bounds,
                                        known_params)

plot(dynamic_fit)
goodness_of_fit(dynamic_fit)

## END EXAMPLE 1 -----


albgarre/bioinactivation documentation built on Nov. 27, 2022, 9:19 a.m.