Winners of the 2021 Table Contest
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
We are excited to announce this year’s winners of the 2021 RStudio Table Contest.
Display tables are a fundamental way we summarize and communicate information. But in many instances, these are boring and created without as much thought as they deserve. Until recently, customizing and styling a table to make it just right could be a painful and time-consuming experience.
But not today. We now have numerous R packages at our disposal to generate well-designed and beautiful presentation tables. And this community has gone out of its way to share some great examples and tutorials on how to do this.
Evaluation and Judging
Submissions were evaluated based on technical merit and artistic achievement. We would like to thank all of this year’s judges. Thank you to Greg Lin, Tom Mock, Samantha Toet, and Isabella Velásquez for all your help in evaluating submissions and your thoughtful comments.
Types of Submissions
- Single Table Example: These may highlight interesting structuring of content, useful and tricky features, or serve as an example of a common table popular in a specific field. All submissions include well-organized, documented code reproducing the table.
- Tutorial: It’s all about teaching us how to craft an excellent table or understand a package’s features. These may include several tables and include narrative.
Categories – We placed tables into one of the following categories:
- Interactive HTML – An HTML table, built with R, with interactivity.
- Interactive Shiny – Interactive tables built with Shiny.
- Static – Tables that do not have interactive elements. These may be designed for print or HTML.
The Winner
Satellites – by Vladislav Fridkin – interactive / Shiny
An interactive table of satellites built with Shiny, {reactable}, and {gt}
There might be prettier ways to show the 1000s of satellites orbiting us, but how does one effectively organize all the associated data? This Shiny app generates a table summarizing data associated with a selection of satellites. This seems like a really smart way to engage interested people into exploring this type of data.
Runner Up
One Farm – by Benjamin Nowak – static / HTML
A set of static tables that look like they were ripped out from the pages of a magazine!
These tables are beautifully designed and they present a lot of information in a very digestible way. Love the use of hierarchy, color, and text with plots/images.
Honorable Mentions
Describer: An Interactive Table Interface for Data Summaries – by Agustin Calatroni, Rebecca Krouse and Stephanie Lussier – interactive / HTML
A dream come true for summarizing and inspecting datasets!
A capable tool in a Shiny app for summarizing any dataset. A lot of information is accessible and easily scannable in the default view and the small plots are welcomed and extremely useful. That it handles variable descriptions and provides detailed summaries is a great achievement.
Using {gt} and {openair} to Present Air Quality Data – by Jack Davison – static / HTML
Tabulated air quality summaries from the legendary {openair} package.
This tutorial provides an introduction to gt and is aimed toward air quality professionals that already have some foundation in R. It shows how to take outputs from the well-established {openair} package and present them effectively in tables with {gt} and {gtExtras}.
Presentation-Ready Data Summary – by Michael Curry and Daniel Sjoberg – static / tutorial
An informative package vignette for creating a compelling data summary.
This is from the authors of the {gtsummary} package. Turns out, you can do a lot after introducing a dataset to the tbl_summary()
function. Customizations galore here folks.
R for Clinical Study Reports and Submission – by Yilong Zhang, Nan Xiao, and Keaven Anderson – static / tutorial
If you’re in Pharma and making tables, make sure to read this thoroughly.
It’s rare that we get guidance on anything but if you’re responsible for creating tables for regulatory submissions in the Pharmaceutical Industry, then this online book is for you.
Fast Big Data Tables in Shiny – by Ryszard Szymański – interactive / tutorial
Big and fast tables?! Well, that’s a dream come true and we have Shiny and Plumber to thank for it.
If you have some pretty large data you can benefit from pagination from external resources. Thanks to Plumber, this is relatively easy. Thanks to Shiny, we can make it all highly interactive. Thanks to the myriad characters in Rick and Morty, we have a lot of records in the example app.
Sparklines with {reactablefmtr} – by Kyle Cuilla – static / tutorial
This was once very hard to do. Not anymore!
There are times when you want little plots to go inside a table. Might as well make it sparky. Thanks to {reactablefmtr}, a package that makes it easy to format reactable tables, you can do this with ease!
Riding Tables with {gt} and {gtExtras} – by Benjamin Nowak – static / tutorial
Learn a lot about {gt} and {gtExtras} and create a deluxe table in the end.
This tutorial focuses on making an awesome table with {gt} and {gtExtras}. You’ll learn all the little tricks on how to make the final table look super impressive!
Imperial March Redux – by Bill Schmid – interactive / HTML
A souped up version of the previous year’s entry, this time using {reactable}!
This submission is a new version of the table submitted for last year’s contest. This time, the {reactable} package was used to add a lot more interactivity to the table (plus, details sections for every row). Check it out!
From Vines to Wines: the most exceptional wines from all over the world – by Abdoul ISSA BIDA – static / HTML
Looks great and really increases your knowledge of fine wines.
A great-looking informational table about wines. We all really enjoyed the pairing of icons with text throughout (especially in the column header area). Both R and Python were used to scrape the data for this one.
Pokémon Red/Blue/Yellow Information Table – by Kyle Butts – interactive / Shiny
A dashboard/Pokédex/Shiny app that uses tables build from CSS grid + flex.
If you ever wanted to see how the {shiny.tailwind} could be used to generate a really nice Shiny app with no need for custom CSS, have a look at this entry. The result is a highly informational, yet beautiful, app that is a joy to behold.
Premier League Standings 2021 – by Greta Gasparac – interactive / Shiny
A treasure trove of data for the Premier League, all presented quite beautifully.
This is a good example of a minimalistic table with exploration built in. The shiny components are useful here and make cruising around the data fun to do. The design choices were carefully considered and that makes the display of information much easier to parse.
Histable – by Milos Vilotic – interactive / Shiny
Is it a table? Is it a histogram? It’s kinda both!
The Histable is a Shiny app with an interactive DT table. Clicking on a column does something a little unexpected but a whole lot useful: the table shows a histogram of the selected values! Because of this, users can quickly visualize a distribution across the table.
Crosstable, easily describe your dataset – by Dan Chaltiel – static / tutorial
Summarize and tabularize your dataset with just one function.
This is a very nice tutorial that introduces people to the {crosstable} package. The package provides a single function crosstable()
that computes descriptive statistics on datasets and interfaces with {officer} to create automated reports.
In Closing
We want to thank you all for making this Table Contest so great. It is incredibly hard to judge submissions with such an overall high level of quality. We fully acknowledge that there are many other really great entries we did not highlight in this article. We encourage you to check out all of the entries at RStudio Community.
One thing we love about the R community is how open and generous you are in sharing the code and process you use to solve problems. This lets others learn from your experience and invites feedback to improve your work. We hope this contest encourages more sharing and helps to recognize the many outstanding ways people work with and display data with R.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.