stats::nlm()
to minpack.lm::nlsLM()
function for estimating parameters in estimate_k()
, estimate_k_1RM()
, estimate_kmod()
, estimate_kmod_1RM()
, estimate_klin()
, and estimate_klin_1RM()
functions.estimate_k_generic()
and estimate_k_generic_1RM()
. These functions return the model object, but use the default k
value of 0.0333estimate_k_generic_1RM_mixed()
which uses generic k
value of 0.0333 to predict the 0RM
estimate_k_generic_1RM_quantile()
which uses generic k
value of 0.0333 to predict the 0RM
day
) in the strength_training_log
dataset. This will be used for an example on how to use the rolling estimationestimate_rolling_1RM()
function. This is used to implement "embedded testing" using training logs to estimate both reps-max profiles and 1RMsscheme_rep_acc()
- now the END rep and step is used, and the reps are counted backwards as intendedvertical_generic()
and vertical_rep_accumulation()
to avoid generating rep accumulation schme using those two functions, but rather using scheme_rep_acc()
scheme_()
functionsprogression_perc_drop
in all scheme_()
functionsvertical_const
in all scheme_()
functionsscheme_light_heavy()
- now it takes the highest rep and use that to estimate %1RMsscheme_ladder()
set and rep scheme.vertical_rep_accumulation.post()
function. This functions is to be applied AFTER scheme is generated. Other options is to use scheme_rep_acc()
function, that is flexible enough to generate most schemes, except for the scheme_ladder()
and scheme_light_heavy()
vertical_block_undulating()
vertical planning function. This is a combination of Block Variant (undulation in the steps) and Undulating (undulation in reps)scheme_generic()
, where vertical_set_accumulation
didn't repeat the adjustments, which cause problems if only single set is accumulated. This is because the adjustments were not accumulated, but rather "recycled".accumulate_rep
to accumulate_set
in vertical_set_accumulation()
and vertical_set_accumulation_reverse()
functionsvertical_set_accumulation()
and vertical_set_accumulation_reverse()
(see sequence argument)adjustment
in the scheme_
functions. Now they are flexible, depending on the reps
argument, but follow the general logic of a given scheme.plot_scheme()
function. Removed {ggstance} from package dependenciesfont_size
arguments to plot_scheme()
and plot_progression_table()
functionsgenerate_progression_table()
, create_example()
, plot_progression_table()
functionsplot_vertical()
function for plotting vertical planSTMr_scheme
class (subclass of data frame), and now scheme can be plotted by using simple S3 plot
method. plot_scheme()
function is now deprecated. Added three types of plots: bar
, vertical
, and fraction
. The STMr_scheme
class has now the following columns: index
, step
, set
, reps
, adjustment
, and perc_1RM
.STMr_vertical
constructor. Now the vertical_
functions return STMr_vertical
data frame object with following column names: index
, step
, set
, set_id
, and reps
. set_id
is needed to sort out an issue (see above) for the vertical_set_accumulation()
and vertical_set_accumulation_reverse()
vertical plans when adjustment is applied inside scheme_generic()
functionscheme_light_heavy()
and scheme_ladder()
functions, I have set adjustment
to NA
since to avoid confusing the user. This is because due to the modifications that these functions does to the "light" sets, the adjustment is not applicable and not related to selected progression table{ggfittext}
package dependency, so the plot labels are now flexible and fit the "container". This can be useful when set accumulation is used, so the labels do not go outside of the barsreps_change
to vertical_set_accumulation()
and vertical_set_accumulation_reverse()
, making them really flexible functionsscheme_manual()
for manual generation of the scheme, which provides for the ultimate flexibilityperc_str
argument to plot()
S3 method, which allows the user to remove "%" and thus have more space for labelrelease
function and S3 plot
method for merging multiple schemes (i.e., blocks or phases) into one release. This is used to inspect how multiple back-to-back phases mold togetherperc_1RM
argument to scheme_manual()
for the user to provide manual 1RM percentages, rather than to be estimatedscheme_perc_1RM()
which is simpler scheme_manual()
for manually entering 1RM percentages. For example creating simple warm-up scheme+
method for STMr_scheme
objects. This allows for easy modular adding of the schemescreate_example()
, get_perc_1RM()
, get_reps()
progression_rel_int()
functionnRM_testing
dataset to RTF_testing
, as well as renamed the columns to be more descriptiveestimate_k_mixed()
, estimate_k_1RM_mixed()
, estimate_kmod_mixed()
, estimate_kmod_1RM_mixed()
, estimate_klin_mixed()
, and estimate_klin_1RM_mixed()
. These are implemented using the {nlme} package and nlme::nlme()
functionstrength_training_log
dataset. eRIR ratings are now halved, and everything over 5 is now NA
get_reps()
function documentationAdded different weighting options for the estimate_
family of functions. These include
1/reps
weighting)1/(eRIR+1)
weighting)Added strength_training_log
dataset. Single individual performing two strength training sessions per week,
over the course of 12 weeks (4 phases, each 3 weeks long). Individual eRIR (estimated reps-in-reserve) subjective rating is included in the dataset. This dataset is used to demonstrate techniques for embedded testing of the 1RM and individual profiles
Added estimate_k_quantile()
, estimate_kmod_quantile()
, and estimate_klin_quantile()
functions to implement non-linear quantile estimation of the parameters
REWRITTEN the whole package. This version will have compatibility issues with the previous version due to different naming of the functions. The package is now more modular, flexible, and can be parameterized more easily
The functions are organized in the following manner:
estimate_
)max_
). Epley's, Modified Epley's and Linear/Brzycki's model are implementedadj_
). Deducted Intensity (DI), Relative Intensity (RelInt), Reps In Reserve (RIR), and % Max Reps (%MR) methods are implementedget_reps()
and get_perc_1RM()
are implemented to combine reps-max models as well as progression (adjustment) functions into easy to use formatprogression_
) are implemented and allow easy parameterization to involve specific model and their estimated parameter valuesvertical_
)scheme_
)generate_progression_table()
, plot_progression_table()
, plot_scheme()
, and create_example()
Fixed few typos in citation()
Added sample data set nRM_testing
, which contains reps max testing of 12 athletes using 70, 80, and 90% 1RM
1RM
in estimate_xxx_1RM()
functions is now in the second place in coefficient ordercreate_example()
function for quickly creating example using selected progression tableget_max_perc_1RM()
). Also see get_max_perc_1RM_k()
functionsget_max_perc_1RM_k()
, get_max_reps_k()
, and get_predicted_1RM_k()
functions that uses user defined k
value/parameter. Together with the previous functionality, use is not able to easily create custom max-reps table functions with extra arguments. This provides great flexibilityget_max_perc_1RM_kmod()
, get_max_reps_kmod()
, and get_predicted_1RM_kmod()
functions that uses user defined kmod
value/parameter for the modified Epley's equation
Added get_max_perc_1RM_klin()
, get_max_reps_klin()
, and get_predicted_1RM_klin()
functions that uses user defined klin
value/parameter for the linear equationestimate_
family of functions to estimate Epley's, modified Epley's, and linear equation parameters, as well as novel estimation functions that uses absolute weight to estimate both k
, kmod
, klin
and 1RM
parametersfont_size
when plotting adjustments using plot_progression_table()
NEWS.md
file to track changes to the package.