This function models the sprint instantaneous velocity using mono-exponential equation that estimates maximum sprinting speed (MSS) and relative acceleration (TAU). velocity is used as target or outcome variable, and time as predictor.

model_using_radar(
  time,
  velocity,
  time_correction = 0,
  weights = 1,
  LOOCV = FALSE,
  na.rm = FALSE,
  ...
)

model_using_radar_with_time_correction(
  time,
  velocity,
  weights = 1,
  LOOCV = FALSE,
  na.rm = FALSE,
  ...
)

Arguments

time

Numeric vector

velocity

Numeric vector

time_correction

Numeric vector. Used to filter out noisy data from the radar gun. This correction is done by adding time_correction to time. Default is 0. See more in Samozino (2018)

weights

Numeric vector. Default is 1

LOOCV

Should Leave-one-out cross-validation be used to estimate model fit? Default is FALSE

na.rm

Logical. Default is FALSE

...

Forwarded to nlme function

Value

List object with the following elements:

parameters

List with the following estimated parameters: MSS, TAU, MAC, and PMAX

model_fit

List with the following components: RSE, R_squared, minErr, maxErr, and RMSE

model

Model returned by the nls function

data

Data frame used to estimate the sprint parameters, consisting of time, velocity, weights, and pred_velocity columns

References

Samozino P. 2018. A Simple Method for Measuring Force, Velocity and Power Capabilities and Mechanical Effectiveness During Sprint Running. In: Morin J-B, Samozino P eds. Biomechanics of Training and Testing. Cham: Springer International Publishing, 237–267. DOI: 10.1007/978-3-319-05633-3_11.

Examples

instant_velocity <- data.frame( time = c(0, 1, 2, 3, 4, 5, 6), velocity = c(0.00, 4.99, 6.43, 6.84, 6.95, 6.99, 7.00) ) sprint_model <- with( instant_velocity, model_using_radar(time, velocity) ) print(sprint_model)
#> Estimated model parameters #> -------------------------- #> MSS TAU MAC PMAX #> 7.0032304 0.8013733 8.7390359 15.3003704 #> time_correction distance_correction #> 0.0000000 0.0000000 #> #> Model fit estimators #> -------------------- #> RSE R_squared minErr maxErr maxAbsErr RMSE #> 0.003513977 0.999998447 -0.004097950 0.005636913 0.005636913 0.002969852 #> MAE MAPE #> 0.002266110 NaN
coef(sprint_model)
#> MSS TAU MAC PMAX #> 7.0032304 0.8013733 8.7390359 15.3003704 #> time_correction distance_correction #> 0.0000000 0.0000000
plot(sprint_model)
sprint_model_correction <- with( instant_velocity, model_using_radar_with_time_correction(time + 0.3, velocity) ) print(sprint_model_correction)
#> Estimated model parameters #> -------------------------- #> MSS TAU MAC PMAX #> 7.0032221 0.8013434 8.7393523 15.3009063 #> time_correction distance_correction #> -0.3000396 0.0000000 #> #> Model fit estimators #> -------------------- #> RSE R_squared minErr maxErr maxAbsErr RMSE #> 0.003924907 0.999998447 -0.004080233 0.005635220 0.005635220 0.002966951 #> MAE MAPE #> 0.002312053 Inf
coef(sprint_model_correction)
#> MSS TAU MAC PMAX #> 7.0032221 0.8013434 8.7393523 15.3009063 #> time_correction distance_correction #> -0.3000396 0.0000000
plot(sprint_model_correction)