Sign in

Christoph Scheuch

@christophscheuch.bsky.social
2.6K followers 289 following 207 posts

Making finance and economics research more transparent and reproducible | Data Editor @ Society for Financial Studies · Researcher @ HU Berlin · Co-creator of tidy-finance.org & econdataverse.org

PostsRepliesMedia
Christoph Scheuch @christophscheuch.bsky.social · 18/09/2026
Thanks for pinging me here, I didn't get a notificatio via GitHub. I will take a look asap and create a new release.
000
Christoph Scheuch @christophscheuch.bsky.social · 28/07/2026
New paper with @floswald.bsky.social @lars.vilhuber.com and collaborators on reproducibility with LLMs, including what researchers should document to make LLM-assisted work transparent ✌️ arxiv.org/abs/2607.24372
0228
Reposted by Christoph Scheuch
James Balamuta @coatless.bsky.social · 10/07/2026
R CMD check comes back clean. Then CRAN emails you about title case and a missing @ return tag. checktor is in. It catches those before you submit. On CRAN as of last week 7/2! CRAN: cran.r-project.org/package=chec... Blog: blog.thecoatlessprofessor.com/programming/... #rstats
Dark terminal screenshot of a checktor() run on a demo package: the Package Doctor diagnosis summary listing five check categories with an overall verdict of "NEEDS ATTENTION (10 issues)."checktor hex logo: a stethoscope whose chestpiece is a green check mark
4256
Reposted by Christoph Scheuch
Julia Silge @juliasilge.com · 11/05/2026
The latest release of #Positron went out last week, and it is chock full of exciting stuff! 🤩 Check out the new Packages pane, inline output for Quarto, the new Posit Assistant interface, and more: opensource.posit.co/blog/2026-05...
opensource.posit.co
Positron May Release Highlights
Highlights from the 2026.05 release of Positron, including a new Packages pane and inline output for Quarto.
46015
Christoph Scheuch @christophscheuch.bsky.social · 08/05/2026
Can LLMs teach you everything about AI? In theory, yes. In practice, it’s overwhelming. That’s why @niccrane.bsky.social and I built a course for @athlyticz.bsky.social. It cuts the noise and gives a clear workflow using R across ML and LLMs, from sports to beyond. athlyticz.com/llm
athlyticz.com
SynergiZing ML & LLMs in R | tidymodels + RAG Course
Learn production R workflows blending tidymodels with LLMs — tool-calling, RAG with ragnar, Shiny deployment, and vitals evaluation.
040
Christoph Scheuch @christophscheuch.bsky.social · 06/01/2026
I see rm(list = ls()) a lot in my role as a data editor, and I usually recommend removing it. I’ve never really understood the appeal, especially as someone who obsessively restarts sessions 🤷‍♂️
050
Christoph Scheuch @christophscheuch.bsky.social · 06/01/2026
Indeed, Positron has such a restart button and I‘m a frequent user ✌️
110
Christoph Scheuch @christophscheuch.bsky.social · 20/11/2025
I didn’t know that unknown functions are passed along, so I always used sql() - thank you for the reference!
010
Reposted by Christoph Scheuch
tj nightmahr 🧟‍♂️ @tjmahr.com · 19/11/2025
it never ceases to amaze me that I can refer to duckdb functions in R expressions as though they were R functions and everything gets translated to SQL
dplyr code with duckdb functions in all caps

tbl_files <- tbl(db, "csvs") |>
  # CAPS for duckdb functions
  mutate(
    # $speaker has directory names with the patterns:
    # - `[speaker]-[listener]` (listener specific data)
    # - `[speaker]` (default version)
    # so compute appropriate $speaker, $listener values
    dir_parts = speaker |> STRING_SPLIT("-"),
    speaker = dir_parts |> LIST_FIRST(),
    listener = dir_parts |> LIST_LAST(),
    listener = ifelse(listener == speaker, "default", listener)
  ) |>
  select(speaker, listener, file, label, logprob, model_name, model_commit)
3315
Christoph Scheuch @christophscheuch.bsky.social · 19/11/2025
What kind of sorcery is this?! I love it 🙏
110
Reposted by Christoph Scheuch
Nic Crane @niccrane.bsky.social · 18/11/2025
Last week I posted about using structured output in {ellmer} to turn text into data, but a friend pointed out that the LLM had mixed up the words "conscious" and "consciousness" in its summary. So how can we fix that? 🧵(1/3) #rstats #llms #ai
283
Reposted by Christoph Scheuch
Hadley Wickham @hadley.nz · 18/11/2025
ellmer 0.4.0 is out now! New features include Claude caching & file uploads, support for newer OpenAI responses API, web search tools, and better security. Read more at tidyverse.org/blog/2025/11... #rstats
tidyverse.org
ellmer 0.4.0
ellmer 0.4.0 includes important lifecycle updates, new Claude features (caching, file uploads, web tools), OpenAI improvements, and enhancements to error handling, pricing tracking, and security.
04111
Reposted by Christoph Scheuch
Athlyticz @athlyticz.bsky.social · 13/11/2025
- Ultimate R Bundle: 7 academic style courses taught by top instructors including Dr. Paul Sabin, @niccrane.bsky.social , and @christophscheuch.bsky.social and working professionals in sports and academia, including a preorder on our AI/LLM course releasing in 2026.
131
Christoph Scheuch @christophscheuch.bsky.social · 06/11/2025
Fantastic news! So to add the llm.txt to my site, which is built, rendered and deployed via GitHub Actions, I just switch to the new version in the workflow or do I need to explicitly call build_llm_docs() after build_site_github_pages()?
100
Christoph Scheuch @christophscheuch.bsky.social · 29/10/2025
And a Makefile to orchestrate the execution order of different reports and their potential dependencies ✌️
130
Reposted by Christoph Scheuch
Christopher Smith @chriscarrollsmith.bsky.social · 25/10/2025
New R package I developed as part of the `econdataverse` project for accessing macroeconomic data from the International Monetary Fund's IMF Data API was just published to CRAN. 🥳 Writeup here: open.substack.com/pub/modeling...
open.substack.com
Announcing imfapi: User-Friendly Access to IMF Data in R
New IMF API, new IMF API R library — part of the econdataverse initiative
141
Christoph Scheuch @christophscheuch.bsky.social · 12/10/2025
You can still publish to shinyapps.io from Positron using the rsconnect package
040
Reposted by Christoph Scheuch
Emil Hvitfeldt @emilhvitfeldt.bsky.social · 24/09/2025
I'm exited to announce a new resource about making slides with quarto and revealjs. This book is the combination of all the work I have done in this area, reordered and polished up There isn't a lot of new information yet, but this format allows me to add more easily slidecrafting-book.com #quarto
Screenshot of first page of slidecrafting-book.com website
1118166
Reposted by Christoph Scheuch
Athlyticz @athlyticz.bsky.social · 16/09/2025
We’re thrilled to have @niccrane.bsky.social and @christophscheuch.bsky.social join our team to co-develop our flagship async course, SynergiZing ML & LLMs in R. We’ve also welcomed @albertrapp.bsky.social to lead our monthly membership track. 👉 Early access updates here: athlyticz.com/ai-signup
athlyticz.com
SynergiZing ML & LLMs in R — tidymodels, RAG, Shiny | Athlyticz
Waitlist open for Athlyticz’s async R course: tidymodels + LLMs (RAG, tool-calling, evals) and Shiny/vetiver deployment—by Nic Crane & Christoph Scheuch.
143
Reposted by Christoph Scheuch
Thomas Lin Pedersen @thomasp85.com · 11/09/2025
I am beyond excited to announce that ggplot2 4.0.0 has just landed on CRAN. It's not every day we have a new major #ggplot2 release but it is a fitting 18 year birthday present for the package. Get an overview of the release in this blog post and be on the lookout for more in-depth posts #rstats
tidyverse.org
ggplot2 4.0.0
A new major version of ggplot2 has been released on CRAN. Find out what is new here.
9851281
Christoph Scheuch @christophscheuch.bsky.social · 11/09/2025
Another challenge is being obsessive about function names and consistency since in R we typically load everything into the same namespace. In Python, I’d probably take a different approach, since it’s more common to organize things into (sub-)modules.
010
Christoph Scheuch @christophscheuch.bsky.social · 11/09/2025
Great idea for a post! The tricky part is that you often figure things out along the way (e.g. column / parameter names), which then forces changes in other packages (i.e. breaking changes / soft deprecations). A meta-package that loads the rest is easy to set up thanks to the tidyverse 🙏
110
Christoph Scheuch @christophscheuch.bsky.social · 11/09/2025
Link to package docs: tidy-intelligence.github.io/r-econdatave...
tidy-intelligence.github.io
Easily Load and Install the EconDataverse
The EconDataverse is a universe of open-source packages to work seamlessly with economic data. This package is designed to make it easy to install and load multiple EconDataverse packages in a single step. Learn more about the EconDataverse at <https://www.econdataverse.org>.
020
Christoph Scheuch @christophscheuch.bsky.social · 11/09/2025
Big milestone: {econdataverse} is now on CRAN #rstats. Install & load multiple #EconDataverse packages in one step, just like the {tidyverse} 🥹
192
Christoph Scheuch @christophscheuch.bsky.social · 07/09/2025
Wasn’t it some Excel mess? Like hitting row limits and wrong references. Guess the first step would be a code-first approach 🫠
010
Reposted by Christoph Scheuch
Charlie Gao @shikokuchuo.net · 02/09/2025
tidyverse blog: Breaking down language barriers in data science nanonext is a messaging and concurrency toolkit, connecting R to polyglot data science pipelines involving modules written in Python, Rust, Go and C++ etc. www.tidyverse.org/blog/2025/09... #RStats #tidyverse
tidyverse.org
nanonext 1.7.0
nanonext is a communications and concurrency toolbox that facilitates fast, powerful and reliable data exchange in polyglot data science workflows.
1327
Christoph Scheuch @christophscheuch.bsky.social · 01/09/2025
Looking forward to my first pure #Python conference ever at PyData Berlin 🐍 If you are interested in getting to know Shinylive and WebAssembly in Python, feel free to join my talk tomorrow at noon titled „Building Reactive Data Apps with Shinylive and WebAssembly“ ✌️
010
Christoph Scheuch @christophscheuch.bsky.social · 29/08/2025
The first vignette offers a detailed look at what’s possible with {datacommons} in #rstats: tidy-intelligence.github.io/r-datacommon...
tidy-intelligence.github.io
Analyzing Census Data with Data Commons
020
Christoph Scheuch @christophscheuch.bsky.social · 29/08/2025
Another new CRAN release with @tealemery.bsky.social 💪 {datacommons} is a wrapper for the Google Data Commons API v2, which provides unified access to global public stats in a knowledge graph, thus reducing data-wrangling pain. Feedback as always very welcome 🙏 github.com/tidy-intelli...
github.com
GitHub - tidy-intelligence/r-datacommons: Client for the Google Data Commons API V2
Client for the Google Data Commons API V2. Contribute to tidy-intelligence/r-datacommons development by creating an account on GitHub.
1100
Christoph Scheuch @christophscheuch.bsky.social · 25/08/2025
Working hard at more R packages 😅
110
Christoph Scheuch @christophscheuch.bsky.social · 25/08/2025
New #RStats package on CRAN: {imfweo} (w/ @tealemery.bsky.social) gives easy access to IMF’s World Economic Outlook. It's part of the #EconDataverse, helping economists + financial professionals work with sovereign-level data. Feedback welcome ✌️ github.com/Teal-Insight...
github.com
GitHub - Teal-Insights/r-imfweo: Seamless Access to IMF World Economic Outlook (WEO) Data
Seamless Access to IMF World Economic Outlook (WEO) Data - Teal-Insights/r-imfweo
172
Reposted by Christoph Scheuch
CRAN Package Updates Bot @cranberriesfeed.bsky.social · 22/08/2025
New CRAN package imfweo with initial version 0.1.0 #rstats cran.r-project.org/package=imfweo
cran.r-project.org
CRAN: Package imfweo
Provides tools to download, process, and analyze data from the International Monetary Fund's World Economic Outlook (WEO) database &lt;<a href="https://www.imf.org/en/Publications/SPROLLs/world-economic-outlook-databases" target="_top">https://www.imf.org/en/Publications/SPROLLs/world-economic-outlook-databases</a>&gt;. Functions support downloading complete WEO releases, accessing specific economic indicators for selected countries, and listing available data.
011
Reposted by Christoph Scheuch
Emil Hvitfeldt @emilhvitfeldt.bsky.social · 20/08/2025
Happy to announce ✨quarto-revealjs-editable✨ This fully supersedes the imagemover extension, as I back then didn't realize the potential. You can now also move, resize, change font size and alignment for text in your slides github.com/EmilHvitfeld... #quarto #slidecrafting
1011636
Reposted by Christoph Scheuch
W. Joel Schneider @w-joel-schneider.bsky.social · 20/08/2025
Now on CRAN, ggdiagram is a #ggplot2 extension that draws diagrams programmatically in #Rstats. Allows for precise control in how objects, labels, and equations are placed in relation to each other. wjschne.github.io/ggdiagram/ar...
An arrow with a LaTeX equationTrigonometric functions and a unit circleA bivariate change model with structured residualsA hierarchical model of cognitive abilities
1018074
Christoph Scheuch @christophscheuch.bsky.social · 19/08/2025
I’m a big fan of the Positron IDE, so when @rachaeldempsey.bsky.social‬ asked me to provide a testimonial, I didn’t hesitate 🙏
A testimonial quote on a dark blue background. The text reads: “Positron feels like stepping into the future of data science. I work in both R and Python daily, and switching between projects has never been easier. With built-in version control, a lightning-fast data explorer, and automatic code formatting, my workflow is pure joy — building apps, packages, reports, or teaching materials has never felt this seamless.” — Christoph Scheuch, Founder, Tidy Intelligence.
192
Christoph Scheuch @christophscheuch.bsky.social · 18/08/2025
What’s the problem with webR in Safari? How about Chrome?
110
Reposted by Christoph Scheuch
Emil Hvitfeldt @emilhvitfeldt.bsky.social · 13/08/2025
Excited to share my newest quarto revealjs plugin: imagemover Easily reposition and resize images directly in your quarto revealjs slides for a much smoother slidecrafting experience github.com/EmilHvitfeld... #quarto
620550
Christoph Scheuch @christophscheuch.bsky.social · 13/08/2025
By popular demand over on LinkedIn, I’ve kicked off a series on deploying R/Python projects to Azure. First up: version control, containerisation, build pipelines & hosting. Should I include #Python or keep it focused on #rstats? blog.tidy-intelligence.com/posts/deploy...
blog.tidy-intelligence.com
Shiny Apps in the Azure Cloud
A practical guide to deploying Shiny Apps in the Azure Cloud
0131
Reposted by Christoph Scheuch
Patrick Weiss @patrick-weiss.bsky.social · 12/08/2025
Starting my new position as #data #editor for the Review of Financial Studies together with @christophscheuch.bsky.social. Very excited for all that is to come!
021
Reposted by Christoph Scheuch
Tidier.jl @tidierjl.bsky.social · 11/08/2025
Introducing TidierErrors.jl, an experimental #JuliaLang package that makes error messages tidier with the help of LLMs (with support for local LLMs!) github.com/TidierOrg/Ti... Developed by @randy.pub Left: original error message Right: tidier error message
1123
Christoph Scheuch @christophscheuch.bsky.social · 07/08/2025
I recently switched to Quarto CVs using the fantastic templates by @schochastics.net 👌 github.com/schochastics...
github.com
GitHub - schochastics/quarto-cv: Templates to create CVs/Resumes with Quarto
Templates to create CVs/Resumes with Quarto. Contribute to schochastics/quarto-cv development by creating an account on GitHub.
091
Christoph Scheuch @christophscheuch.bsky.social · 30/07/2025
Fantastic news! Does the ws-proxy server require a lot of resources (RAM, CPU) or is it just a minimal instance routing requests?
000
Reposted by Christoph Scheuch
fbabovic.bsky.social @fbabovic.bsky.social · 29/07/2025
#rstats has anyone added a new provider to ellmer? I see that it’s doable but I’m hoping to see if someone has blazed that trail for me and I can follow in their footsteps steps.
001
Christoph Scheuch @christophscheuch.bsky.social · 28/07/2025
New on CRAN: {oecdoda} 📢 Access & analyze Official Development Assistance (ODA) data from the OECD API in R - inspired by Jorge Rivera’s {oda-reader}. Part of #EconDataverse. Feedback welcome 🙏 tidy-intelligence.github.io/r-oecdoda/
tidy-intelligence.github.io
Seamless Access to OECD Official Development Assistance (ODA) Data
Access and Analyze Official Development Assistance (ODA) data using the OECD API <https://gitlab.algobank.oecd.org/public-documentation/dotstat-migration/-/raw/main/OECD_Data_API_documentation.pdf>. O...
040
Christoph Scheuch @christophscheuch.bsky.social · 25/07/2025
The #EconDataverse keeps on growing ✌️
010
Reposted by Christoph Scheuch
Hadley Wickham @hadley.nz · 25/07/2025
🐘 ellmer 🐘 makes it easy and fun to use LLMs from #rstats, and 0.3.0 is out now. Read about the new streamlined chat() function, improvements to tool specifications, and more at www.tidyverse.org/blog/2025/07....
tidyverse.org
ellmer 0.3.0
The newest version of ellmer introduces a simpler `chat()` interface that can works with any provider, a bunch of improvements to tool calling, and a handful of smaller quality of life improvements.
28124
Reposted by Christoph Scheuch
Matt Cowgill @mattcowgill.bsky.social · 23/07/2025
my favourite type of post: shows how to use public data to produce something interesting with just a few lines of R code
0325
Reposted by Christoph Scheuch
Etienne Bacher @etiennebacher.bsky.social · 23/07/2025
#rstats polars 1.0.0 is now available! polars provides bindings to the eponymous Rust library, a very efficient dataframe library. This is the outcome of a 1-year long rewrite led by @eitsupi to refactor the internals and match the API of Python polars. pola-rs.github.io/r-polars/ Details ⬇️
pola-rs.github.io
Polars R Package
43411