Authors: George M. Perry, Greg Pilgrim
Abstract: Track & field result sheets provide a lot of information, but not much useful. High jump and pole vault results have a lot of X's, O's and numbers, but there are no "box scores" for a quick snapshot. No visually appealing ways to see what happened jump-by-jump. Nothing is athlete-centric nor fan-centric. Interactivity and data-friendliness? HA!
Our tutorial walks through how we used JumpeR, Shiny, reactable and gt to solve several data analysis and reporting short-comings in track & field.
Full Description: No one has ever accused track & field of being fan friendly. Even fewer people have accused track & field results from being fan (or data scientist) friendly. Although, tbf, not many sports fans nor data scientists go looking for them.
But for the last 10 years, George has been con-VINCED that he can do something with this sport. He knows that accessible data (both in raw form and in "snackable" fan-facing form) is essential for any sport. Whether it's for fans looking for a talking point to settle (or lay down) a bet; for coaches and athletes to understand the competitive landscape; for sports writers, pundits and podcasters to have some quanty takes and a steady stream of content; or just because it's good to have when you need it no matter who you are, every sport needs its data products.
Things took an interesting turn when he found Greg – data scientist, swimmer and creator of SwimmeR and JumpeR – last summer.
In our tutorial, we take a break from swimming, running and jumping to walk through how we combined JumpeR, Shiny, reactable and gt to produce informative, interactive and pleasant results tables for athletes in the vertical jumps of track & field: pole vault and high jump.
We create new metrics for the vertical jumps, things that seem intuitively obvious as "Yeah, I'd like to know that about a meet or athlete" but have never been reported: the number of bar heights each athlete attempts and clears at a meet (or season), and the number of individual jumps each athlete attempts and clears. Those go into a "box score" snapshot for athletes: a quick look at all their meets in the data set, and these top level, aggregate metrics alongside the standard ones like their mark for the meet and what place they finished.
We created that table in reactable, and then used Shiny as an intermediary to pass the user's selected meet to gt. In gt, we create a visually appealing, color-coded results table for a meet. All the usual information, but presented in a way that looks good and makes sense without having to squint. Thanks to gt, we can overcome a unique situation in the vertical jumps: each meet has a different number of bar heights and different heights, so you cannot explicitly define the number and names of columns in advance.
But why read about the tables when you can go see and explore them yourself? That's what they're there for, along with the tutorial that highlights some of the top Shiny, reactable and gt features that made this all workable.
Table Type: interactive-Shiny
Submission Type: Tutorial
Repo: GitHub - gpilgrim2670/VerticalTable: Table presentation for pole vaults and high jumps
DT package used: false
gt package used: true
reactable package used: true
flextable package used: false
huxtable package used: false
kableExtra package used: false
Other packages: JumpeR