my toolbox
Read more about the set of tools I use. My home base is R, but I leverage a lot of HTML, CSS, and JavaScript along the way.
wrangle
Data wrangling takes time; often at least half the energy spent on an interactive tool build is on data preparation. Tools from the tidyverse
make it easier. I use packages like tidyr
, dplyr
, stringr
and purrr
to get data into tidy and usable formats. Making sure data are formatted properly for display is key; lubridate
and glue
are a go-to for me for that purpose.
Click on a hex to go to the package website.
Other packages and tools I use:
openxlsx
visualize
I primarly use the ggplot2
package for data visualization and related extensions for interactivity and animation. Currently, I primarily use ggiraph
for interactive graphics. I also use the D3 JavaScript library and incorporate D3-based graphics in R-based tools using the r2d3
package.
Click on a hex to go to the package website.
Other packages and tools I use:
reactable
DT
cowplot
D3
plotly
gganimate
build
How you design and build a data tool or website is an important part of setting the tone for the look, feel, and user experience. I build interactive applications in shiny
for R and websites using quarto
. I leverage HTML, CSS, and JavaScript libraries to style the site and add additional interactive features. I have also used parameterized rmarkdown
reports to generate custom reports based on user interaction in Shiny applications.
Click on a hex to go to the package website.
Other packages and tools I use:
bsplus
shinyWidgets
gdtools
shinydashboard
shinycssloaders
shinyjs
manage
Package management and deployment is a key part of the application building process. I utilize package management tools like renv
and deployment and monitoring tools like connectapi
as part of the development process. Web-based content that I build is deployed using a Posit Connect server. The metathis
package makes it easy to define meta tags and set header elements for a site. I use git-based workflows for version control and collaboration.
Click on a hex to learn more about the tool.