Performs critical power estimations based on the methods chosen.

critical_power(
  .data,
  power_output_column = "PO",
  time_to_exhaustion_column = "TTE",
  method = c("3-hyp", "2-hyp", "linear", "1/time"),
  plot = TRUE,
  reverse_y_axis = FALSE,
  all_combinations = FALSE
)

Arguments

.data

A data frame containing a power output column and their respective time-to-exhaustion.

power_output_column

The name of the power output column. This value has to be in watts.

time_to_exhaustion_column

The name of the time-to-exhaustion column. This value has to be in seconds. Default to "TTE".

method

The method for estimating critical power. It can be one or multiple methods. Default to c("3-hyp", "2-hyp", "linear", "1/time").

plot

A boolean indicating whether to produce a plot from the critical power estimation. Default to TRUE.

reverse_y_axis

A boolean to indicate whether to plot the Power Output (W) in the y-axis. It is ignored for the linear methods. Default to FALSE.

all_combinations

A boolean indicating whether to perform the critical power estimation from all the possible combinations of time-to-exhaustion trials provided. Please, see 'Details' for more information. Default to FALSE.

Value

a tibble containing the following columns:

index

In case all_combinations = TRUE this column indicates the row number of the trials chosen for the critical power estimation. They correspond to the row numbers in your data.

method

The critical power method for that estimation.

data

The data you provided.

model

A nls or lm object. The model used in the critical power fitting.

CP

Critical power, in watts.

CP SEE

Standard error of the estimation of critical power, in watts.

W'

Anaerobic work capacity, in joules.

W' SEE

Standard error of the estimation of anaerobic work capacity, in joules.

Pmax

Maximal instantaneous power, in watts (only available in CP 3-hyp).

Pmax SEE

Standard error of the estimation of maximal instantaneous power, in watts (only available in CP 3-hyp).

R2

R-squared.

RMSE

Root mean square error, the units vary depending on the method, as they represent the units of the response (i.e., y-axis): CP3-hyp in seconds, CP2-hyp in seconds, CPlinear in joules, and CP1/time in watts.

plot

The critical power plot.

Details

Please, note that estimations of critical power are highly influenced by the range of time-to-exhaustion trials performed, and the chosen critical power model. Please, see Mattioni Maturana et al. (2018).

A note on the R2 value: Please, note that for the hyperbolic fits (CP 3-hyp and CP 2-hyp) this value is actually a pseudo r-squared, as they are not linear models.

CP 3-hyp

The 3-parameter hyperbolic model is calculated as the following (Morton, 1996):

\[t=\frac{W'}{PO-CP}+\frac{W'}{CP-P_{max}}\]

CP 2-hyp

The 2-parameter hyperbolic model is calculated as the following (Hill, 1993):

\[t=\frac{W'}{PO-CP}\]

CP linear

The linear model is calculated as the following (Moritani et al. 1981):

\[W_{lim}=W'+CP\cdot t\]

CP 1/time

The 1/time linear model is calculated as the following (Whipp et al. 1982):

\[PO=W'\cdot \frac{1}{t}+CP\]

All combinations

When the argument all_combinations = TRUE, the function takes the given data and finds all the possible combinations of the trials given. For example, if 5 trials are provided (i.e., your data contains 5 rows), critical power will be fitted with all the 5 trials, then all the possible combinations using only 4 trials, and so on. This feature was inspired on our paper Mattioni Maturana et al. (2018).

When all the combinations are fitted, an extra column called "index" appears in the final results. This is the index of the trial number used to fit the model. This corresponds to the row number of your data (e.g., in [1,3,5] trials #1, #3, and #5 are used).

References

Mattioni Maturana, F., Fontana, F. Y., Pogliaghi, S., Passfield, L., & Murias, J. M. (2018). Critical power: How different protocols and models affect its determination. Journal of Science and Medicine in Sport, 21(7), 742-747.

Hugh Morton, R. (1996). A 3-parameter critical power model. Ergonomics, 39(4), 611-619.

Hill, D. W. (1993). The critical power concept. Sports medicine, 16(4), 237-254.

Moritani, T., NAGATA, A., DEVRIES, H. A., & MURO, M. (1981). Critical power as a measure of physical work capacity and anaerobic threshold. Ergonomics, 24(5), 339-350.

Whipp, B. J., Huntsman, D. J., Storer, T. W., Lamarra, N., & Wasserman, K. (1982, January). A constant which determines the duration of tolerance to high-intensity work. In Federation proceedings (Vol. 41, No. 5, pp. 1591-1591). 9650 ROCKVILLE PIKE, BETHESDA, MD 20814-3998: FEDERATION AMER SOC EXP BIOL.

Examples

results <- critical_power(
 .data = demo_critical_power,
 power_output_column = "PO",
 time_to_exhaustion_column = "TTE",
 method = c("3-hyp", "2-hyp", "linear", "1/time"),
 plot = TRUE,
 all_combinations = FALSE
)

results
#> # A tibble: 4 × 12
#>   method data     model     CP `CP SEE`   `W'` `W' SEE`  Pmax `Pmax SEE`    R2
#>   <chr>  <list>   <list> <dbl>    <dbl>  <dbl>    <dbl> <dbl>      <dbl> <dbl>
#> 1 3-hyp  <tibble> <nls>   260.      3.1 27410.    4794  1004.       835. 0.998
#> 2 2-hyp  <tibble> <nls>   262.      1.6 24174.    1889.   NA         NA  0.997
#> 3 linear <tibble> <lm>    266.      3   20961.    2248.   NA         NA  1.00 
#> 4 1/time <tibble> <lm>    274.      6.2 17784.    1160    NA         NA  0.987
#> # … with 2 more variables: RMSE <dbl>, plot <list>