Title: | Tools for Analyzing Lactate Thresholds |
---|---|
Description: | Set of tools for analyzing lactate thresholds from a step incremental test to exhaustion. Easily analyze the methods Log-log, Onset of Blood Lactate Accumulation (OBLA), Baseline plus (Bsln+), Dmax, Lactate Turning Point (LTP), and Lactate / Intensity ratio (LTratio) in cycling, running, or swimming. Beaver WL, Wasserman K, Whipp BJ (1985) <doi:10.1152/jappl.1985.59.6.1936>. Heck H, Mader A, Hess G, Mücke S, Müller R, Hollmann W (1985) <doi:10.1055/s-2008-1025824>. Kindermann W, Simon G, Keul J (1979) <doi:10.1007/BF00421101>. Skinner JS, Mclellan TH (1980) <doi:10.1080/02701367.1980.10609285>. Berg A, Jakob E, Lehmann M, Dickhuth HH, Huber G, Keul J (1990) <PMID:2408033>. Zoladz JA, Rademaker AC, Sargeant AJ (1995) <doi:10.1113/jphysiol.1995.sp020959>. Cheng B, Kuipers H, Snyder A, Keizer H, Jeukendrup A, Hesselink M (1992) <doi:10.1055/s-2007-1021309>. Bishop D, Jenkins DG, Mackinnon LT (1998) <doi:10.1097/00005768-199808000-00014>. Hughson RL, Weisiger KH, Swanson GD (1987) <doi:10.1152/jappl.1987.62.5.1975>. Jamnick NA, Botella J, Pyne DB, Bishop DJ (2018) <doi:10.1371/journal.pone.0199794>. Hofmann P, Tschakert G (2017) <doi:10.3389/fphys.2017.00337>. Hofmann P, Pokan R, von Duvillard SP, Seibert FJ, Zweiker R, Schmid P (1997) <doi:10.1097/00005768-199706000-00005>. Pokan R, Hofmann P, Von Duvillard SP, et al. (1997) <doi:10.1097/00005768-199708000-00009>. Dickhuth H-H, Yin L, Niess A, et al. (1999) <doi:10.1055/s-2007-971105>. |
Authors: | Felipe Mattioni Maturana [aut, cre]
|
Maintainer: | Felipe Mattioni Maturana <[email protected]> |
License: | MIT + file LICENSE |
Version: | 0.2.0 |
Built: | 2025-02-08 05:23:49 UTC |
Source: | https://github.com/fmmattioni/lactater |
A dataset containing the lactate and heart rate data collected from a step-incremental test as an example
demo_data
demo_data
A data frame with 8 rows and 5 variables:
the number of the step, starting at zero for the baseline.
the length of each step.
the intensity performed on each step (in this case in watts).
the blood lactate concentration.
the heart rate associated with that step.
It retrieves the lactate curve for plotting purposes.
lactate_curve( .data, intensity_column, lactate_column, heart_rate_column, fit = c("3rd degree polynomial", "4th degree polynomial", "B-spline"), include_baseline = FALSE, sport = c("cycling", "running", "swimming") )
lactate_curve( .data, intensity_column, lactate_column, heart_rate_column, fit = c("3rd degree polynomial", "4th degree polynomial", "B-spline"), include_baseline = FALSE, sport = c("cycling", "running", "swimming") )
.data |
The raw data. |
intensity_column |
The name of the intensity column. |
lactate_column |
The name of the lactate column. |
heart_rate_column |
The name of the heart rate column, if applicable. |
fit |
The fit you would like to use for plotting the lactate curve.
Options are |
include_baseline |
A boolean to indicate whether to include the baseline value in the fit. |
sport |
The sport at which the incremental test was performed. One of |
a list with the following elements:
data |
a tibble containing the raw data with the columns |
lactate_curve |
a tibble containing the data with the columns |
heart_rate_response |
a tibble containing the data with the columns |
## Not run: lactate_curve( .data = demo_data, intensity_column = "intensity", lactate_column = "lactate", heart_rate_column = "heart_rate", fit = "3rd degree polynomial", include_baseline = TRUE, sport = "cycling" ) ## End(Not run)
## Not run: lactate_curve( .data = demo_data, intensity_column = "intensity", lactate_column = "lactate", heart_rate_column = "heart_rate", fit = "3rd degree polynomial", include_baseline = TRUE, sport = "cycling" ) ## End(Not run)
This is a general function that applies several lactate threshold methods at the same time.
lactate_threshold( .data, intensity_column, lactate_column, heart_rate_column, method = c("Log-log", "OBLA", "Bsln+", "Dmax", "LTP", "LTratio"), fit = c("3rd degree polynomial", "4th degree polynomial", "B-spline"), include_baseline = FALSE, sport = c("cycling", "running", "swimming"), loglog_restrainer = 1, plot = TRUE )
lactate_threshold( .data, intensity_column, lactate_column, heart_rate_column, method = c("Log-log", "OBLA", "Bsln+", "Dmax", "LTP", "LTratio"), fit = c("3rd degree polynomial", "4th degree polynomial", "B-spline"), include_baseline = FALSE, sport = c("cycling", "running", "swimming"), loglog_restrainer = 1, plot = TRUE )
.data |
The raw data. |
intensity_column |
The name of the intensity column. |
lactate_column |
The name of the lactate column. |
heart_rate_column |
The name of the heart rate column, if applicable. |
method |
The lactate threshold method to calculate. It can be one or many of the following:
|
fit |
The fit you would like to use for finding the lactate values associated to each one of the lactate thresholds.
Please, note that a few lactate thresholds have default methods for this and cannot be changed.
Options are |
include_baseline |
A boolean to indicate whether to include the baseline value in the fit. |
sport |
The sport at which the incremental test was performed. One of |
loglog_restrainer |
A scalar from 0 to 1 indicating the percentage of the data that you would like to
restrain for fitting the Log-Log method. For example, |
plot |
A boolean to indicate whether to generate a plot from each one of the methods. Default to |
The lactate response (i.e., log of lactate vs intensity) is divided into two segments. A segmented regression is then performed such that the lactate curve would present one breaking point. The exercise intensity at which the breaking point occurs is then considered as Log-log (Beaver et al., 1985). Caution: this method might require a double-check via a visual inspection, depending in some cases.
The Onset of Blood Lactate Accumulation (OBLA) is the exercise intensity at fixed lactate of 2.0, 2.5, 3.0, 3.5, and 4.0 mmol/L (Heck et al., 1985, Kindermann et al., 1979; Skinner & Mclellan, 1980). The lactate curve is usually fitted using a 3rd order polynomial regression curve, but the user can define another method (4th degree polynomial or B-spline).
In the baseline plus method (Bsln+), the exercise intensity at which lactate increases to 0.5, 1.0, and 1.5 mmol/L above baseline (resting) values is considered (Berg et al., 1990; Zoladz et al., 1995). The lactate curve is usually fitted using a 3rd order polynomial regression curve, but the user can define another method (4th degree polynomial or B-spline).
The exercise intensity that yields the maximum perpendicular distance to the straight line between the first and the last data point (Cheng et al., 1992). The lactate curve is fitted using a 3rd order polynomial regression curve, and it can't be changed.
The exercise intensity that yields the maximum perpendicular distance to the straight line between data point preceding the first rise in lactate greater than 0.4 mmol/L and the last data point (Bishop et al., 1998). The lactate curve is fitted using a 3rd order polynomial regression curve, and it can't be changed.
The exercise intensity on the exponential plus-constant regression lactate curve that yields the maximum perpendicular distance to the straight line between the first and the last data point (Hughson et al., 1987). The lactate curve is fitted using an exponential curve, and it can't be changed.
The exercise intensity that yields the maximum perpendicular distance to the straight line between Log-log and the last data point in the 3rd order polynomial regression curve (Jamnick et al., 2018). The lactate curve is fitted using a 3rd order polynomial regression curve, and it can't be changed.
The exercise intensity that yields the maximum perpendicular distance to the straight line between Log-log and the last data point in the exponential curve (Jamnick et al., 2018). The lactate curve is fitted using an exponential curve, and it can't be changed.
the lactate response is divided into three segments. A segmented regression is performed such that the lactate curve yields two breaking points. The first breaking point, representing the first rise in lactate above resting levels, is considered as LTP1. The second breaking point, representing an accelerated lactate accumulation, is then considered as LTP2 (Hofmann & Tschakert, 2017; Hofmann et al., 1997; Pokan et al., 1997). Caution: this method might require a double-check via a visual inspection, depending in some cases.
The lactate response (i.e., ratio of lactate / exercise intensity vs exercise intensity) is interpolated using a B-spline regression curve. LTratio is then defined as the lowest value of the lactate / exercise intensity ratio, which attempts to describe the onset of the lactate increase (Dickhuth et al., 1999).
a tibble with the following columns:
method_category |
the category of the lactate threshold method. |
method |
the method used to estimate the lactate threshold |
fitting |
the fitting method used to predict the lactate curve |
intensity |
the intensity associated with the estimated lactate threshold |
lactate |
the lactate concentration associated with the estimated lactate threshold |
heart_rate |
the heart rate associated with the estimated lactate threshold |
plot |
the plot produced to display the lactate threshold |
Beaver WL, Wasserman K, Whipp BJ. Improved detection of lactate threshold during exercise using a log-log transformation. Journal of Applied Physiology. 1985;59(6):1936–40.
Heck H, Mader A, Hess G, Mücke S, Müller R, Hollmann W. Justification of the 4-mmol/l Lactate Threshold. International Journal of Sports Medicine. 1985;06(03):117–30.
Kindermann W, Simon G, Keul J. The significance of the aerobic-anaerobic transition for the determination of work load intensities during endurance training. European Journal of Applied Physiology and Occupational Physiology. 1979;42(1):25–34.
Skinner JS, Mclellan TH. The Transition from Aerobic to Anaerobic Metabolism. Research Quarterly for Exercise and Sport. 1980;51(1):234–48.
Berg A, Jakob E, Lehmann M, Dickhuth HH, Huber G, Keul J. Current aspects of modern ergometry. Pneumologie. 1990;44(1):2–13.
Zoladz JA, Rademaker AC, Sargeant AJ. Non-linear relationship between O2 uptake and power output at high intensities of exercise in humans. The Journal of Physiology. 1995;488(1):211–7.
Cheng B, Kuipers H, Snyder A, Keizer H, Jeukendrup A, Hesselink M. A New Approach for the Determination of Ventilatory and Lactate Thresholds. International Journal of Sports Medicine. 1992;13(07):518–22.
Bishop D, Jenkins DG, Mackinnon LT. The relationship between plasma lactate parameters, Wpeak and 1-h cycling performance in women. Med Sci Sports Exerc. 1998;30(8):1270–5.
Hughson RL, Weisiger KH, Swanson GD. Blood lactate concentration increases as a continuous function in progressive exercise. Journal of Applied Physiology. 1987;62(5):1975–81.
Jamnick NA, Botella J, Pyne DB, Bishop DJ. Manipulating graded exercise test variables affects the validity of the lactate threshold and VO2peak. PLOS ONE. 2018;13(7):e0199794.
Hofmann P, Tschakert G. Intensity- and Duration-Based Options to Regulate Endurance Training. Front Physiol. 2017;8:337.
Hofmann P, Pokan R, von Duvillard SP, Seibert FJ, Zweiker R, Schmid P. Heart rate performance curve during incremental cycle ergometer exercise in healthy young male subjects. Med Sci Sports Exerc. 1997;29(6):762–8.
Pokan R, Hofmann P, Von Duvillard SP, et al. Left ventricular function in response to the transition from aerobic to anaerobic metabolism. Med Sci Sports Exerc. 1997;29(8):1040–7.
Dickhuth H-H, Yin L, Niess A, et al. Ventilatory, Lactate-Derived and Catecholamine Thresholds During Incremental Treadmill Running: Relationship and Reproducibility. International Journal of Sports Medicine. 1999;20(02):122–7.
## Not run: lactate_threshold( .data = demo_data, intensity_column = "intensity", lactate_column = "lactate", heart_rate_column = "heart_rate", fit = "3rd degree polynomial", include_baseline = TRUE, sport = "cycling", loglog_restrainer = 1, plot = TRUE ) ## End(Not run)
## Not run: lactate_threshold( .data = demo_data, intensity_column = "intensity", lactate_column = "lactate", heart_rate_column = "heart_rate", fit = "3rd degree polynomial", include_baseline = TRUE, sport = "cycling", loglog_restrainer = 1, plot = TRUE ) ## End(Not run)
Combine lactate threshold methods into one plot
plot_methods(plots, ...)
plot_methods(plots, ...)
plots |
The |
... |
Additional arguments passed onto |
a patchwork
object
Widget to help with data input.
run_data_input(width = 1200, height = 900)
run_data_input(width = 1200, height = 900)
width |
The width, in pixels. |
height |
The height, in pixels. |
The code to reproduce the manual data input.