View source: R/calculate_isi_stumvoll.R
calculate_isi_stumvoll | R Documentation |
This function calculates the Stumvoll Insulin Sensitivity Index using glucose and insulin sampled during a standard 75g oral glucose tolerance test. Methods described in Stumvoll et al.
calculate_isi_stumvoll(
time,
glucose,
insulin,
time_units = "min",
glucose_units = "mg/dl",
insulin_units = "uU/ml"
)
calculate_isi_stumvoll_dem(
time,
glucose,
insulin,
bmi = NULL,
age = NULL,
time_units = "min",
glucose_units = "mg/dl",
insulin_units = "uU/ml"
)
time |
Vector of time values (in minutes) |
glucose |
Vector of glucose values (in mg/dL) |
insulin |
Vector of insulin values (in uU/mL) |
time_units |
if units are not in "min", can indicate here for unit conversion (options "min" or "hr") |
glucose_units |
if units are not in "mg/dl", can indicate here for unit conversion (options "mg/dl" or "mmol/l") |
insulin_units |
if units are not in "uU/ml", can indicate here for unit conversion (options "uU/ml" or "pmol/l") |
bmi |
Body mass index ( |
age |
Age (years) |
Standard timepoints are 0, 30, 60, 90, and 120 min. Note: insulin unit conversion may differ differ depending on assay. Insulin (pmol/l) = insulin (uU/ml)*6
'calculate_isi_stumvoll()' accepts 3 separate vectors for time, glucose, insulin. If the demographic 'calculate_isi_stumvoll_dem()' version is used, BMI and age are required. Note the demographic version only utilizes Insulin at t=120 and dose not incorporate glucose.
Stumvoll Insulin Sensitivity Index as a single value
# individual objects for each item
time=c(0, 30, 60, 90, 120) # minutes
glucose=c(93, 129, 178, 164, 97) # mg/dL
insulin=c(12.8, 30.7, 68.5, 74.1, 44.0) # uU/mL
calculate_isi_stumvoll(time, glucose, insulin) # 11.80
# handling data stored in a dataframe
ogtt1 <- data.frame(time=c(0, 30, 60, 90, 120), # minutes
glucose=c(93, 129, 178, 164, 97), # mg/dL
insulin=c(12.8, 30.7, 68.5, 74.1, 44.0)) # uU/mL
calculate_isi_stumvoll(ogtt1$time, ogtt1$glucose, ogtt1$insulin) #
# example from Gutch et al 2015
ogtt2 <- data.frame(time=c(0, 30, 60, 90, 120), # minutes
glucose=c(100, 160, 160, 160, 140), # mg/dL
insulin=c(5, 10, 10, 10, 5)) # uU/mL
calculate_isi_stumvoll(ogtt2$time, ogtt2$glucose, ogtt2$insulin) #
calculate_isi_matsuda(ogtt2$time, ogtt2$glucose, ogtt2$insulin)
# Convert units
ogtt5 <- data.frame(time = c(0,0.5,1,1.5,2), # time in hours
glucose = c(5.167, 7.167, 9.889, 9.111, 5.3889), # glucose in mmol/l
insulin = c(76.8,184.2,411,444.6,264)) # insulin in pmol/l
calculate_isi_stumvoll(time = ogtt5$time,
glucose = ogtt5$glucose,
insulin = ogtt5$insulin,
time_units = "hr", insulin_units = "pmol/l", glucose_units = "mmol/l")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.