| Title: | Operations Designed for Tidy Strength Data |
|---|---|
| Description: | Mappings for estimated one rep max from commonly used formulas. Convenience functions for turning mass/rep/set data into useful derived quantities. |
| Authors: | Alex Paynter [aut, cre, cph] |
| Maintainer: | Alex Paynter <[email protected]> |
| License: | GPL (>= 3) |
| Version: | 0.1.0.9000 |
| Built: | 2026-05-20 10:25:41 UTC |
| Source: | https://github.com/alexpaynter/strength |
Create a mapping from reps and rpe to pct_1rm
create_map_rep_rpe_to_pct(pct_lookup_tab)create_map_rep_rpe_to_pct(pct_lookup_tab)
pct_lookup_tab |
A lookup table that contains columns reps, rpe and pct_1rm. |
A function taking arguments reps and rpe, returning a numeric vector.
resulting_function <- create_map_rep_rpe_to_pct(pct_lookup_rts)resulting_function <- create_map_rep_rpe_to_pct(pct_lookup_rts)
Estimated one rep max
e1rm(weight, reps, rpe, pct1rm_func) e1rm_rts(...) e1rm_helms(...) e1rm_brzycki(...)e1rm(weight, reps, rpe, pct1rm_func) e1rm_rts(...) e1rm_helms(...) e1rm_brzycki(...)
weight |
Numeric vector of weights, one entry per set. |
reps |
Numeric vector of reps, one entry per set. |
rpe |
Numeric vector of RPEs, one entry per set. |
pct1rm_func |
A function which takes |
... |
Arguments passed to |
A numeric vector of estimated one rep max values for each set.
e1rm(c(400, 300), c(1, 10), c(9, 6), pct1rm_rts) e1rm_rts(c(400, 300), c(1, 10), c(9, 6)) e1rm_helms(c(400, 300), c(1, 10), c(9, 6)) e1rm_brzycki(c(400, 300), c(1, 10), c(9, 6))e1rm(c(400, 300), c(1, 10), c(9, 6), pct1rm_rts) e1rm_rts(c(400, 300), c(1, 10), c(9, 6)) e1rm_helms(c(400, 300), c(1, 10), c(9, 6)) e1rm_brzycki(c(400, 300), c(1, 10), c(9, 6))
Number of hard sets
hard_sets(rpe, cutoff = 7)hard_sets(rpe, cutoff = 7)
rpe |
A numeric vector of set RPE values. |
cutoff |
RPE cutoff for what qualifies as a hard set. The boundary is included. |
A numeric value counting the number of hard sets.
hard_sets(c(6, 7, 10, 9, NA))hard_sets(c(6, 7, 10, 9, NA))
Percentage lookup from Brzycki.
pct_lookup_brzyckipct_lookup_brzycki
pct_lookup_brzyckiA data frame with 135 rows and 3 columns:
Number of reps performed
Rating of perceived exertion
Percentage of one-repetition maximum associated with reps at rpe.
Derived from rpe_tab_brzycki.
Percentage lookup from Helms and colleagues.
pct_lookup_helmspct_lookup_helms
pct_lookup_helmsA data frame with 90 rows and 3 columns:
Number of reps performed
Rating of perceived exertion
Percentage of one-repetition maximum associated with reps at rpe.
Derived from rpe_tab_helms.
Percentage lookup from reactive training systems (RTS)
pct_lookup_rtspct_lookup_rts
pct_lookup_rtsA data frame with 165 rows and 5 columns:
Number of reps performed
Rating of perceived exertion
Percentage of one-repetition maximum associated with reps at rpe.
Derived from rpe_tab_rts.
pct1rm_rts() uses the table provided by reactive training systems. pct1rm_helms() uses the table provided in a paper by Helms and colleagues. pct1rm_brzycki() uses the table provided by Brzycki in his book. pct1rm() takes a user-supplied lookup table to convert.
pct1rm(reps, rpe, pct_lookup_tab) pct1rm_rts(reps, rpe) pct1rm_helms(reps, rpe) pct1rm_brzycki(reps, rpe)pct1rm(reps, rpe, pct_lookup_tab) pct1rm_rts(reps, rpe) pct1rm_helms(reps, rpe) pct1rm_brzycki(reps, rpe)
reps |
A vector of repetitions performed in a set. |
rpe |
A vector of ratings of perceived exertion. |
pct_lookup_tab |
A dataframe with columns rpe, reps and pct_1rm, expressing the desired conversion. |
reps must be length 1 or the same length as rpe. RPE must be length 1 or the same length as reps.
A numeric vector listing the percentage of one 1 rep max.
pct1rm_rts(reps = 10, rpe = 8) resulting_function <- create_map_rep_rpe_to_pct(pct_lookup_rts) pct1rm_rts(reps = 10, rpe = 8) pct1rm_helms(reps = 5, rpe = 8) pct1rm_helms(reps = 5, rpe = 8)pct1rm_rts(reps = 10, rpe = 8) resulting_function <- create_map_rep_rpe_to_pct(pct_lookup_rts) pct1rm_rts(reps = 10, rpe = 8) pct1rm_helms(reps = 5, rpe = 8) pct1rm_helms(reps = 5, rpe = 8)
RPE table from Brzycki.
rpe_tab_brzyckirpe_tab_brzycki
rpe_tab_brzyckiA dataframe with 9 rows and 16 columns.
The rating of perceived exertion
Estimated percentage of one rep max doing 1 rep at the RPE given by RPE.
Estimated percentage of one rep max doing 2 reps at the RPE given by RPE.
'
And so on...
ISBN 978-1935628132, "A practical approach to strength training". This is a rep-max resource and we extended to RPE using the reps in reserve definition for RPE (see rep_tab_helms for a paper link that explains this.)
RPE table Helms and colleagues.
rpe_tab_helmsrpe_tab_helms
rpe_tab_helmsA dataframe with 10 rows and 11 columns.
The rating of perceived exertion
Estimated percentage of one rep max doing 1 rep at the RPE given by RPE.
Estimated percentage of one rep max doing 2 reps at the RPE given by RPE.
'
And so on...
https://doi.org/10.1519/SSC.0000000000000218. Based on earlier work by Zourdos and Helms
RPE table RTS
rpe_tab_rtsrpe_tab_rts
rpe_tab_rtsA dataframe with 11 rows and 16 columns.
The rating of perceived exertion
Estimated percentage of one rep max doing 1 rep at the RPE given by RPE.
Estimated percentage of one rep max doing 2 reps at the RPE given by RPE.
'
And so on...
Pulled from the TRAC system on Reactive Training Systems in Dec 2025
RPE table to lookup table
rpe_tab_to_lookup(rpe_tab)rpe_tab_to_lookup(rpe_tab)
rpe_tab |
A tibble with columns RPE, 1, 2, 3, ... containing the percentage of one rep max associated with doing x reps at RPE rating of perceived exertion. |
A tibble with columns rpe, reps, pct_1rm.
rpe_tab_to_lookup(rpe_tab_rts)rpe_tab_to_lookup(rpe_tab_rts)