integral_quotient {halk} | R Documentation |
Compute the quotient of integrals as a measure of percent error between two curves
Description
This is a method for comparing how "close" or "accurate" one curve is to another (reference) curve. The method works by dividing the area between the curves by the area under the reference curve. See Details for more information
Usage
integral_quotient(
ref_curve_params,
comp_curve_params,
min_x,
max_x,
curve_fun = function(x, linf, k, t0) {
out <- linf * (1 - exp(-k * (x - t0)))
return(out)
}
)
Arguments
ref_curve_params |
A list of named parameters for the reference curve (i.e. the standard that is being compared to) |
comp_curve_params |
A list of named parameters for the curve that is being compared |
min_x |
The minimum value across which to integrate |
max_x |
The maximum value across which to integrate |
curve_fun |
The function that is being compared. Defaults to an anonymous function that is the von Bertalanffy growth function. |
Details
The integral quotient method provides a basis for comparison between two curves by dividing the area between the curves by the area under the reference curve (i.e. the quotient of integrals)
Value
A value of the area between curves divided by the area under the reference curve
Examples
ref_curve_params <- list(linf = 60, k = 0.25, t0 = -0.5)
comp_curve_params <- list(linf = 62, k = 0.25, t0 = -0.4)
comp_curve2_params <- list(linf = 65, k = 0.25, t0 = -1)
comp_curve_iq <-
integral_quotient(ref_curve_params, comp_curve_params, 0, 10)
comp_curve2_iq <-
integral_quotient(ref_curve_params, comp_curve2_params, 0, 10)
vbgf <- function (x, linf, k, t0) {linf * (1 - exp(-k * (x - t0)))}
curve(
vbgf(x, ref_curve_params$linf, ref_curve_params$k, ref_curve_params$t0),
from = 0,
to = 10,
ylim = c(0, 60),
xlab = "Age", ylab = "Length"
)
curve(
vbgf(x, comp_curve_params$linf, comp_curve_params$k, comp_curve_params$t0),
add = TRUE,
col = "blue"
)
curve(
vbgf(x, comp_curve2_params$linf, comp_curve2_params$k, comp_curve2_params$t0),
add = TRUE,
col = "red"
)
text(9, 40, labels = paste0(comp_curve_iq, "%"), col = "blue")
text(9, 43, labels = paste0(comp_curve2_iq, "%"), col = "red")