What I use
Here is a list of tools I use on a daily basis. Feel free to get inspired!
Coding
My preferred language for data wrangling is R and the
{tidyverse}
family of packages.I am partial to Python, especially since the release of multiple R-like libraries, such as polars, shiny (equivalent to
{shiny}
), great tables (equivalent to{gt}
), plotnine (equivalent to{ggplot2}
) and Shinylive for Python (equivalent to Shinylive for R).Reasons to use Julia are Dynare for Julia and Tidier, a reimplementation of the
{tidyverse}
family of packages in Julia!I use plotly to create interactive dashboards.
IDE
- I primarily use the RStudio IDE and the Positron IDE
Style guides
When it comes to creating visualizations, I try to follow the book Storytelling with Data by Cole Nussbaumer Knaflic.
I try to follow Hadley Wickham’s book Tidy design principles, which builds on the Tidyverse style guide, which in turn is derived from Google’s R Style Guide. I use the
{styler}
R package and RStudio add-in to re-style existing code with a single click.
Writing
I am fluent in LaTeX but I would recommend typst for typesetting beginners.
I have completely moved from R Markdown to Quarto, but I still recommend the R Markdown Cookbook to learn more about Yihui Xie’s amazing
{knitr}
package.I read and annotate PDFs with Zotero.
To make PDFs more visible on GitHub, I use nbviewer.
When working with Overleaf, I use Better BibTeX for Zotero to automatically generate citation keys without key clashes.
I highly recommend the the Monash Quarto Templates and the Quarto Journal Templates.
I use The Rogue Scholar to create stable DOIs for each of my blog posts.
Reproducibility
I use the
{renv}
R package to snapshot the R version and the package versions and save them in an isolated library.When I want to snapshot the entire ecosystem, including system-level dependencies, I use the
{rix}
package.I use
{targets}
to create Make-like pipelines.I try to follow Bruno Rodrigues book Building reproducible analytical pipelines with R and Building reproducible analytical pipelines with Python, respectively.
LLMs
I have been experimenting with GitHub Copilot in RStudio.
To create GitHub Actions workflows, I usually ask ChatGPT.
If you want to properly cite your sources, I recommend perplexity.ai.
The Claude chat bot is useful when developing large projects.
I use
{ellmer}
to interact with LLMs from my IDE.Check out the BIS Quarterly Review Special Feature Large language models: a primer for economists.
Web
I create Quarto Websites for all of my projects using GitHub Pages.
I have also used Quarto Pub and Netlify for publishing.