cheetahR is an R package that brings the power of Cheetah
Grid to R. Designed
for speed and efficiency, cheetahR will allow you to render
millions of rows in just a few milliseconds, making it an excellent
alternative to reactable and other R table widgets. The goal of cheetahR
is to wrap the JavaScript functions of Cheetah Grid and make them
readily available for R users, providing a seamless and high-performance
table widget for R applications.
- Ultra-fast rendering of large datasets.
- Lightweight and efficient memory usage.
- Customizable styling and formatting.
- Smooth scrolling and interaction.
- Seamless integration with R and Shiny.
You can install cheetahR from GitHub:
pak::pak("cynkra/cheetahR")So far, cheetah() is available to render a dataframe in R
library(cheetahR)
# Render table
cheetah(iris)
# Change some feature of some columns in the data
cheetah(
iris,
columns = list(
Sepal.Length = column_def(name = "Sepal_Length"),
Sepal.Width = column_def(name = "Sepal_Width", width = 100)
)
)cheetahR is compatible with Shiny, allowing for dynamic and
interactive tables in web applications. Although still a work in
progress.
We welcome contributions! If you’d like to help improve cheetahR, feel
free to submit issues, feature requests, or pull requests.
To contribute to this project, some software installations are required,
such as npm, node, and packer. Please follow the slides attached
to help you get started
pre-requisites.
Click here to install
packer.
When you are in the project, do the following:
packer::npm_install()
# Change the code and then rebundle
packer::bundle("development") # For developement mode
packer::bundle() # For production. Defaut!You may as well bundle for dev using packer::bundle_dev() when in
developer mode and when ready for production use
packer::bundle_prod(). You may also consider watch() which watches
for changes in the srcjs and rebuilds if necessary, equivalent to
npm run watch.
- Once you run a function, for instance,
cheetah(iris), open the viewer on a web browser window (preferably Chrome as it is used to illustrate the action in this step). Note! Other browser pages may differ. - Right-click on the widget and navigate to the “inspect” option on
the drop-down menu

- At the top, where the tabs are displayed, navigate to the “Sources”
tab. Open from the sidepanel “cheetahr/srcjs/widgets/cheetah.js”
script

- Once the “cheetah.js” is opened on the main panel. You can set a
breakpoint on any line number of the script and reload the page.

This package is built on top of the amazing Cheetah Grid JavaScript library.