| Title: | Operations Designed for Tidy Strength Data |
| Version: | 0.1.0 |
| Description: | Mappings for estimated one rep max from commonly used formulas. Convenience functions for turning mass/rep/set data into useful derived quantities. |
| License: | GPL (≥ 3) |
| Encoding: | UTF-8 |
| RoxygenNote: | 7.3.3 |
| Depends: | R (≥ 4.1) |
| LazyData: | true |
| Imports: | cli, dplyr, tibble, tidyr |
| Suggests: | testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| URL: | https://github.com/alexpaynter/strength |
| BugReports: | https://github.com/alexpaynter/strength/issues |
| NeedsCompilation: | no |
| Packaged: | 2026-02-20 19:14:11 UTC; alex |
| Author: | Alex Paynter [aut, cre, cph] |
| Maintainer: | Alex Paynter <apaynter@pm.me> |
| Repository: | CRAN |
| Date/Publication: | 2026-02-25 10:40:02 UTC |
Create a mapping from reps and rpe to pct_1rm
Description
Create a mapping from reps and rpe to pct_1rm
Usage
create_map_rep_rpe_to_pct(pct_lookup_tab)
Arguments
pct_lookup_tab |
A lookup table that contains columns reps, rpe and pct_1rm. |
Value
A function taking arguments reps and rpe, returning a numeric vector.
Examples
resulting_function <- create_map_rep_rpe_to_pct(pct_lookup_rts)
Estimated one rep max
Description
Estimated one rep max
Usage
e1rm(weight, reps, rpe, pct1rm_func)
e1rm_rts(...)
e1rm_helms(...)
e1rm_brzycki(...)
Arguments
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 |
Value
A numeric vector of estimated one rep max values for each set.
Examples
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
Description
Number of hard sets
Usage
hard_sets(rpe, cutoff = 7)
Arguments
rpe |
A numeric vector of set RPE values. |
cutoff |
RPE cutoff for what qualifies as a hard set. The boundary is included. |
Value
A numeric value counting the number of hard sets.
Examples
hard_sets(c(6, 7, 10, 9, NA))
Mapping from reps and rpe to pct_1rm.
Description
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.
Usage
pct1rm_rts(reps, rpe)
pct1rm_helms(reps, rpe)
pct1rm_brzycki(reps, rpe)
Arguments
reps |
A vector of repetitions performed in a set. |
rpe |
A vector of ratings of perceived exertion. |
Details
reps must be length 1 or the same length as rpe. RPE must be length 1 or the same length as reps.
Value
A numeric vector listing the percentage of one 1 rep max.
Examples
pct1rm_rts(reps = 10, rpe = 8)
resulting_function <- create_map_rep_rpe_to_pct(pct_lookup_rts)
pct1rm_helms(reps = 5, rpe = 8)
resulting_function <- create_map_rep_rpe_to_pct(pct_lookup_rts)
pct1rm_helms(reps = 5, rpe = 8)
resulting_function <- create_map_rep_rpe_to_pct(pct_lookup_brzycki)
Percentage lookup from Brzycki.
Description
Percentage lookup from Brzycki.
Usage
pct_lookup_brzycki
Format
pct_lookup_brzycki
A data frame with 135 rows and 3 columns:
- reps
Number of reps performed
- rpe
Rating of perceived exertion
- pct_1rm
Percentage of one-repetition maximum associated with
repsatrpe.
Source
Derived from rpe_tab_brzycki.
Percentage lookup from Helms and colleagues.
Description
Percentage lookup from Helms and colleagues.
Usage
pct_lookup_helms
Format
pct_lookup_helms
A data frame with 90 rows and 3 columns:
- reps
Number of reps performed
- rpe
Rating of perceived exertion
- pct_1rm
Percentage of one-repetition maximum associated with
repsatrpe.
Source
Derived from rpe_tab_helms.
Percentage lookup from reactive training systems (RTS)
Description
Percentage lookup from reactive training systems (RTS)
Usage
pct_lookup_rts
Format
pct_lookup_rts
A data frame with 165 rows and 5 columns:
- reps
Number of reps performed
- rpe
Rating of perceived exertion
- pct_1rm
Percentage of one-repetition maximum associated with
repsatrpe.
Source
Derived from rpe_tab_rts.
RPE table from Brzycki.
Description
RPE table from Brzycki.
Usage
rpe_tab_brzycki
Format
rpe_tab_brzycki
A dataframe with 9 rows and 16 columns.
- RPE
The rating of perceived exertion
- 1
Estimated percentage of one rep max doing 1 rep at the RPE given by RPE.
- 2
Estimated percentage of one rep max doing 2 reps at the RPE given by RPE.
'
- ...
And so on...
Source
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.
Description
RPE table Helms and colleagues.
Usage
rpe_tab_helms
Format
rpe_tab_helms
A dataframe with 10 rows and 11 columns.
- RPE
The rating of perceived exertion
- 1
Estimated percentage of one rep max doing 1 rep at the RPE given by RPE.
- 2
Estimated percentage of one rep max doing 2 reps at the RPE given by RPE.
'
- ...
And so on...
Source
https://doi.org/10.1519/SSC.0000000000000218. Based on earlier work by Zourdos and Helms
RPE table RTS
Description
RPE table RTS
Usage
rpe_tab_rts
Format
rpe_tab_rts
A dataframe with 11 rows and 16 columns.
- RPE
The rating of perceived exertion
- 1
Estimated percentage of one rep max doing 1 rep at the RPE given by RPE.
- 2
Estimated percentage of one rep max doing 2 reps at the RPE given by RPE.
'
- ...
And so on...
Source
Pulled from the TRAC system on Reactive Training Systems in Dec 2025
RPE table to lookup table
Description
RPE table to lookup table
Usage
rpe_tab_to_lookup(rpe_tab)
Arguments
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. |
Value
A tibble with columns rpe, reps, pct_1rm.
Examples
rpe_tab_to_lookup(rpe_tab_rts)