| Title: | Insulin Secretion Rate Deconvolution |
| Version: | 0.0.1 |
| Description: | Calculates insulin secretion rates from C-peptide values based on the methods described in Van Cauter et al. (1992) <doi:10.2337/diab.41.3.368>. Includes functions to calculate estimated insulin secretion rates using linear or cubic spline interpolation of c-peptide values (see Eaton et al., 1980 <doi:10.1210/jcem-51-3-520> and Polonsky et al., 1986 <doi:10.1172/JCI112308>) and to calculate estimates of input coefficients (volume of distribution, short half life, long half life, and fraction attributed to short half life) as described by Van Cauter. Although the generated coefficients are specific to insulin secretion, the two-compartment secretion model used here is useful for certain applications beyond insulin. |
| License: | GPL (≥ 3) |
| Imports: | glue, lifecycle, npreg, rlang |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.2 |
| URL: | https://github.com/kstier/isr.deconv |
| BugReports: | https://github.com/kstier/isr.deconv/issues |
| NeedsCompilation: | no |
| Packaged: | 2025-11-02 18:59:35 UTC; kenstier |
| Author: | Ken Stier [aut, cre, cph] |
| Maintainer: | Ken Stier <kennethstier99@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2025-11-05 20:20:06 UTC |
insulin.secretion: Insulin Secretion Rate Deconvolution
Description
Calculates insulin secretion rates from C-peptide values based on the methods described in Van Cauter et al. (1992) doi:10.2337/diab.41.3.368. Includes functions to calculate estimated insulin secretion rates using linear or cubic spline interpolation of c-peptide values (see Eaton et al., 1980 doi:10.1210/jcem-51-3-520 and Polonsky et al., 1986 doi:10.1172/JCI112308) and to calculate estimates of input coefficients (volume of distribution, short half life, long half life, and fraction attributed to short half life) as described by Van Cauter. Although the generated coefficients are specific to insulin secretion, the two-compartment secretion model used here is useful for certain applications beyond insulin.
Author(s)
Maintainer: Ken Stier kennethstier99@gmail.com [copyright holder]
See Also
Useful links:
Insulin Secretion Rate Deconvolution
Description
Estimates insulin secretion rate based on a time series of c-peptide values based on the Van Cauter method. C-peptide values are interpolated using either linear approximation or a cubic spline; the linear method (default) will output a time series of insulin secretory rates at time points between each input time, whereas the spline method will output a function which can be called to return insulin secretory rates for specific time points.
Typically, c-peptide values are provided in pmol/mL and time is in minutes, resulting in insulin secretion rate outputs in pmol/min.
Although this function was designed with insulin secretion in mind, it uses a two-compartment secretion model that may be applied beyond insulin.
Usage
isr.deconv(
timeseries,
cpepseries,
vol,
shl,
lhl,
frc,
method = c("linear", "spline"),
plotspline = FALSE,
plotisr = FALSE,
isr.validated.vals,
isr.validated.time
)
Arguments
timeseries |
Vector of numeric time values corresponding to the c-peptide values in |
cpepseries |
Vector of numeric c-peptide values at each time point in |
vol |
Volume of distribution in the main compartment (i.e., serum volume), which can be calculated with the |
shl |
Short half-life, which can be calculated with the |
lhl |
Long half-life, which can be calculated with the |
frc |
Fraction attributable to the short half-life, which can be calculated with the |
method |
Determines whether C-peptide values are interpolated with linear connections between the points or a cubic spline |
plotspline |
Dictates whether to print a plot of the C-peptide interpolation |
plotisr |
Dictates whether to print a plot of the ISR output values |
isr.validated.vals |
Used for debugging; validated ISR values to compare to past analyses |
isr.validated.time |
Used for debugging; time values corresponding to validated ISR values to compare to past analyses |
Value
If method = "linear" is selected (default), returns a list of time
points and insulin secretory rates. If method = "spline" is selected, returns
a function which can be called to return insulin secretory rates at specified
time points.
See Also
isr.volume(), isr.shortHL(), isr.longHL(), isr.fraction()
Examples
isr.deconv(
timeseries = c(-30, 0, 30, 60, 90, 120),
cpepseries = c(1.72, 1.72, 5.40, 5.23, 2.71, 1.79),
vol = 6104,
shl = 4.55,
lhl = 31.05,
frc = 0.78,
method = "linear",
plotspline = TRUE,
plotisr = TRUE,
)
C-Peptide Fraction Attributable to Short Half Life Lookup
Description
Outputs the relevant fraction attributable to short half life for use in
isr.deconv() based on patient type (normal, obese, or non-insulin dependent
diabetes mellitus).
Usage
isr.fraction(subject.type = c("normal", "obese", "niddm"))
Arguments
subject.type |
String for patient type. |
Value
Numeric value.
See Also
Examples
isr.fraction("normal")
isr.fraction("obese")
isr.fraction("niddm")
C-Peptide Long Half Life Calculator
Description
Outputs the long half life based on patient age for use in isr.deconv() per
the Van Cauter method of estimating insulin secretion rate.
Usage
isr.longHL(subject.age)
Arguments
subject.age |
Numeric for patient age in years. |
Value
Numeric value.
See Also
Examples
isr.longHL(18.08)
C-Peptide Short Half Life Calculator
Description
Outputs the relevant long half life of c-peptide for use in isr.deconv()
based on patient type (normal, obese, or non-insulin dependent diabetes
mellitus).
Usage
isr.shortHL(subject.type = c("normal", "obese", "niddm"))
Arguments
subject.type |
String for patient type. |
Value
Numeric value.
See Also
Examples
isr.shortHL("normal")
isr.shortHL("obese")
isr.shortHL("niddm")
Serum Volume Calculator
Description
Calculates the estimated serum volume based on patient sex, weight, and
height for use in isr.deconv().
Usage
isr.volume(subject.sex = c("m", "f"), subject.weight, subject.height)
Arguments
subject.sex |
String for patient sex, |
subject.weight |
Numeric for subject weight in kilograms. |
subject.height |
Numeric for subject height in centimeters. |
Value
Numeric value.
See Also
Examples
isr.volume("m", 86.2, 181.5)