calculate_stumvoll_isi: Stumvoll Insulin Sensitivity Index Calculation (from standard...

View source: R/calculate_stumvoll_isi.R

calculate_stumvoll_isiR Documentation

Stumvoll Insulin Sensitivity Index Calculation (from standard 75g OGTT)

Description

This function calculates the Stumvoll Insulin Sensitivity Index using glucose and insulin sampled during a standard 75g oral glucose tolerance test.

Usage

calculate_stumvoll_isi(
  time,
  glucose,
  insulin,
  time_units = "min",
  glucose_units = "mg/dl",
  insulin_units = "uU/ml"
)

Arguments

time

a column name (unquoted) indicating time values (in minutes)

glucose

a column name (unquoted) storing glucose values (in mg/dL)

insulin

a column name (unquoted) storing 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")

Details

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_stumvoll_isi()' accepts 3 separate vectors for time, glucose, insulin.

Value

Stumvoll Insulin Sensitivity Index as a single value

Examples

# 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_stumvoll_isi(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_stumvoll_isi(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_stumvoll_isi(ogtt2$time, ogtt2$glucose, ogtt2$insulin) # 
calculate_matsuda_index(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_stumvoll_isi(time =  ogtt5$time,
                        glucose = ogtt5$glucose,
                        insulin = ogtt5$insulin,
                        time_units = "hr", insulin_units = "pmol/l", glucose_units = "mmol/l")

JMLuther/tabletools documentation built on July 1, 2024, 2:01 p.m.