calculate_matsuda_index | R Documentation |
This function calculates the Matsuda index using glucose and insulin sampled during a standard 75g oral glucose tolerance test. Results can be checked using the Matsuda online calculator.
calculate_matsuda_index(
time,
glucose,
insulin,
time_units = "min",
glucose_units = "mg/dl",
insulin_units = "uU/ml"
)
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") |
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_matsuda_index_df()' requires a dataframe input with time, glucose, insulin columns. 'calculate_matsuda_index()' accepts 3 separate vectors for time, glucose, insulin.
Matsuda index as a single value
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
# dataframe with variable columns appropriately named
calculate_matsuda_index(time = ogtt1$time,
glucose = ogtt1$glucose,
insulin = ogtt1$insulin) # 3.43125
# error if time is out of order
ogtt3 <- data.frame(
time=c(0, 60, 30, 90, 120), # minutes
glucose=c(100, 129, 178, 164, 97), # mg/dL
insulin=c(12.8, 100, 68.5, 74.1, 44.0)) # uU/mL
calculate_matsuda_index(time = ogtt3$time,
glucose = ogtt3$glucose,
insulin = ogtt3$insulin) # error
# error if missing values
ogtt4 <- data.frame(
time=c(0, 60, 30, 90, 120), # minutes
glucose=c(100, NA, 178, 164, 97), # mg/dL
insulin=c(12.8, 100, 68.5, 74.1, 44.0)) # uU/mL
calculate_matsuda_index(time = ogtt4$time,
glucose = ogtt4$glucose,
insulin = ogtt4$insulin) # error
# 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_matsuda_index(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.