Sign in

Boris Hejblum

@borishejblum.science
48 followers 202 following 0 posts

INSERM researcher in biostatistics & #rstats enthusiast - views are my own borishejblum.science

PostsRepliesMedia
Reposted by Boris Hejblum
Andrew Heiss @andrew.heiss.phd · 18/08/2026
My latest attempt at an AI/LLM policy in my intro to social science stats class. Basically two rules: 1. Everything human-facing must be human-generated 2. You are responsible for understanding, verifying, and citing everything an LLM generates quantf26.classes.andrewheiss.com/syllabus.htm...
Generative AI and LLMs
In this class, I have two general rules regarding LLMs:

Everything human-facing must be human-generated.
You are responsible for understanding, verifying, and citing everything an LLM generates.
I’ll explain what these mean below, but first, an important warning!

LLMs and learning
Phew, I can talk about the relationship between learning and LLMs for hours (see this for a more formal explanation of my thinking). LLMs and generative AI can be useful for statistical programming, but only when you already know what you are doing. They can be dangerous and counterproductive for beginners.

Additionally, using LLMs and generative AI to write does not lead to deeper learning. The point of writing is to help crystalize and organize your thinking. Pasting LLM-generated words into an assignment to make it look like you read and understood the content will not help you learn. Pasting LLM-generated code into an assignment and hoping that it works will not help you learn.Rule 1: Everything human-facing must be human-generated
Generative AI tools like Gemini, ChatGPT, and Claude can be helpful for generating ideas or topics for your assignments and can even help you find existing research about topics you’re interested in. They are useful for debugging and troubleshooting code.

These uses are permitted in this course.

If you want to use LLM tools to document your code, clean up your notes, look up error messages, search for research related to your topic, and so on, cool. Do it. That’s fine. It’s unavoidable nowadays anyway, since every R-related Google search will give you a Gemini-generated answer at the top with mostly working R code.

Any writing and revisions, however, must be your own. You may not use AI tools to write any of the text you submit to me. AI text adds nothing to my understanding. I have no interest in engaging with it at all. There is nothing more disheartening for me than spending my time grading something that ChatGPT spat out in 10 seconds. I want to see good engagement with the readings. I want to see your thinking process. I want to see you make connections between the readings. I want to see your personal insights. I don’t want to see a bunch of words that look like a human wrote them. That’s not useful for future-you. That’s not useful for me. That’s a waste of time.

Thus, anything human-facing (i.e. not stuff done just for yourself, like your own personal notes, research, etc.) must be human-generated (i.e. written by you). You may not use AI tools to write any portion of your assignments. Using AI tools in this way, or failing to disclose the use of AI tools, will be treated as a case of plagiarism and referred to the Honor Council.

Rule 2: You are responsible for understanding, verifying, and citing everything an LLM generates
These tools are really good at working with code, but again, only if you know what you’re doing. Without guidance and expertise, LLMs love making lots of extraneous, convoluted, and weird code by default. The code ostensibly works, but it’s often strange and unnecessary and uses uncommon syntax and packages.

If you use LLMs for help with code, you must understand and verify what’s going on with your code and you must cite where it came from.

This means that you need to know what each line is doing. If the LLM uses a function or gives you an argument that you don’t understand or haven’t seen before, figure out why and figure out if it’s necessary. Look at the documentation for the function. Search Google for other examples. Ask the LLM about it, and then add comments to the code explaining what’s going on.

The citation doesn’t need to be anything formal (i.e. don’t worry about Chicago or APA guidelines)—it just needs to (1) say which LLM you used, and (2) mention what you asked the LLM.

You should do this by using code comments—inside your code chunk, add a # to the beginning of a line so that it’s treated as a comment (or text) instead of actual code.

Here’s an example of what this can look like:Here’s an example of what this can look like:

# This calculates the average GDP per capita in each region in the dataset, 
# for all countries after 2015. I couldn't remember how to use group_by() and 
# summarise() together, so I asked Gemini:
# 
# "I'm using tidyverse. I have a dataset named my_dataset and I'm filtering it 
# to include all countries after 2015. I want to calculate region averages with 
# group_by and summarise but cannot remember the syntax"

my_dataset |> 
  filter(year > 2015) |> 
  group_by(region) |> 
  # Gemini here included na.rm = TRUE, which omits any rows with missing values 
  # when calculating the average. That's okay and necessary here because 
  # South Sudan is missing some years of GDP data
  summarise(avg_gdp = mean(gdp_per_cap, na.rm = TRUE))

# Gemini also included an extra ungroup() function at the end, but I don't need 
# that because there are no groups leftover after summarising here

↑ That’s a lot of extra comments and you won’t always see stuff like that in real life code, but I want to see it here, and future-you will want to see it too.
1114726 0
Reposted by Boris Hejblum
Ruth Montgomery @rrmsky.bsky.social · 18/08/2026
The most pressing questions in immunology — why do people respond differently to infection, vaccination or therapy? Why do some develop chronic inflammatory disease while others remain resilient? See high-dimensional public data resources. @hipcproject.bsky.social @yalemed.bsky.social rdcu.be/fAwms
nature.com
From data to discovery: a unified framework for human immunology
Nature Immunology - High-throughput, high-dimensional profiling technologies have transformed the ability to generate and test hypotheses of human immunology. Investment in infrastructure has...
073 0
Reposted by Boris Hejblum
Simon P. Couch @simonpcouch.com · 10/08/2026
I've been really impressed with Kimi K3 and GLM 5.2 the last couple weeks. I'm excited to share that we've made the models available in Posit AI with strong privacy guarantees and a steep discount compared to the Claude models currently available in the service! opensource.posit.co/blog/2026-08...
opensource.posit.co
Kimi K3 and GLM 5.2 are now in Posit AI
A new batch of open weights models in Posit AI show impressive capabilities at a fraction of the price.
0335 0
Reposted by Boris Hejblum
Martyn Plummer @martynplummer.bsky.social · 03/08/2026
What's new in JAGS 5.0.0 part 1: Initial Values martynplummer.wordpress.com/2026/08/03/w...
034 0
Reposted by Boris Hejblum
Ilya Kashnitsky @ikashnitsky.phd · 07/07/2026
🚨Oh boy! Here is a masterpiece worth reading carefully, saving as a bookmark in a closeby drawer, and taking out this weapon to use in comments whenever you see a legacy usage of ollama 🫂Friends Don't Let Fronts l Friends Use Ollama 🔗 sleepingrobots.com/dreams/stop-... #foss #llms #ollama #llamacpp
April 18, 2026

+

Friends Don't Let Friends Use Ollama

Ollama gained traction by being the first easy llama.cpp wrapper, then spent years dodging attribution, misleading users, and pivoting to cloud, all while riding VC money earned on someone else's engine. Here's the full history, and why the alternatives are better.

Tags: LLMs, local, open-source, opinion
082 0
Reposted by Boris Hejblum
James Balamuta @coatless.bsky.social · 02/07/2026
Turn a Shiny app into a desktop app your users just double-click. shinyelectron wraps #rstats or #Python Shiny in Electron and builds a native installer for macOS, Windows, and Linux, with a runtime of your choice (including a fully offline build). Build locally or in CI. #rshiny #pyshiny
macOS drag-to-install window for demo-r-app-suite: the app icon with an arrow pointing to the Applications folder.The app's About panel showing the r-shinylive (WebR) backend, R 4.6.0, 37 packages, platform wasm32-unknown-emscripten, inside the desktop app.shinyelectron launcher listing three R Shiny apps as cards (Dashboard, Data Explorer, About), with an "Apps → Back to Launcher" menu open.GitHub Actions run "Build demo installers" for shinyelectron 0.2.0, matrix building 73 of 76 jobs across macOS, Windows, and Linux.
3729 0
Reposted by Boris Hejblum
Valentine Svensson @nxn.se · 20/06/2026
FMs and Perturbation Prediction: Good Embeddings vs. Fancy Architectures - elijahcole.me/blog/2026-03...
elijahcole.me
FMs and Perturbation Prediction: Good Embeddings vs. Fancy Architectures
011 0
Reposted by Boris Hejblum
Posit @posit.co · 01/06/2026
Announcing roxygen2 8.0.0 for #RStats package developers! 📦 This major release streamlines documentation workflows and includes over 100 bug fixes, S7 support, R6 tooling, a lighter footprint, and modern configuration. Learn more: opensource.posit.co/blog/2026-05...
opensource.posit.co
roxygen2 8.0.0
roxygen2 8.0.0 is now on CRAN, with first-class support for S7, a bunch of R6 improvements, a new configuration style, and a slimmer dependency footprint.
0175 0
Reposted by Boris Hejblum
Cailin O’Connor @cailinmeister.bsky.social · 01/06/2026
Am I the only one who is slowly modifying their written voice to make it increasingly un-AI sounding?
491 0
Reposted by Boris Hejblum
Edouard Lhomme @edouard-lhomme.bsky.social · 28/05/2026
🗓️RDV 5 juin 2026 à 12h30 pour 1er webinaire Santé Mondiale @univbordeaux.bsky.social Isped / Univ Senghor sur « Vaccins contre le paludisme : point d'étape et perspectives » 💉🦠🦟 avec Pr Halidou Tinto, chercheur burkinabé d’exception
021 0
Reposted by Boris Hejblum
Mattan S. Ben-Shachar @mattansb.msbstats.info · 23/05/2026
I put together a short slidedeck on specifying random effects in mixed models. This doesn't cover all possible edge cases, but I think this provides some basic best practices for proper generalization and uncertainty in estimation. Feedback is welcome! #stats #MLM #HLM #LMM #MEM (did I miss any?)
docs.google.com
Specifying Random Effects Structure
Specifying Random Effects Structure for Hypothesis Testing or Estimation of Fixed Effects A Comprehensive Guide to Correct Random Effects Specification Mattan S. Ben-Shachar
05512 0
Reposted by Boris Hejblum
Posit @posit.co · 27/04/2026
Four engineers behind Posit Assistant broke down how to build an AI agent for data science — reasoning, agentic workflows, modeling guardrails, and chart extraction. Watch: www.youtube.com/watch?v=A2sa... Download RStudio: posit.co/download/rst... #PositAI #RStats
posit.co
Downloads: RStudio Desktop
Download the open-source RStudio Desktop IDE for Windows, macOS, and Linux. Be more productive with R and Python using our powerful editor, debugger, and plotting tools.
0347 0
Reposted by Boris Hejblum
Joyce Robbins @jtrnyc.bsky.social · 28/04/2026
I made a template and video tutorial for creating a Quarto book rendered with GitHub Actions and published on GitHub pages -- check it out www.youtube.com/watch?v=o1vn... #quarto #rstats
youtube.com
Using GitHub Actions to render and deploy a Quarto Book on GitHub Pages (with code template)
YouTube video by Joyce Robbins
0224 0
Reposted by Boris Hejblum
Jumping Rivers @jumpingrivers.com · 21/04/2026
R 4.6.0 "Because it was There" is set for release on 24 April. @russhyde.bsky.social writes up the more interesting changes — %notin% in base R, neater character column summaries, and more. Full breakdown with code: www.jumpingrivers.com/blog/whats-n... #rstats #datascience #rprogramming
03011 0
Reposted by Boris Hejblum
Paul Goldsmith-Pinkham @paulgp.com · 13/04/2026
First pass at a website that keeps track of the data availability status of various published papers: paulgp.com/replication-... Very much in Alpha mode, so data will be updated soon.
109123 0
Reposted by Boris Hejblum
Claus Wilke @clauswilke.com · 28/03/2026
Did you see the blog post on the topic I posted today? blog.genesmindsmachines.com/p/creating-r...
blog.genesmindsmachines.com
Reproducible pipelines
There was a discussion recently on Bluesky about reproducible data analysis pipelines.
131 0
Reposted by Boris Hejblum
Dr. Jean Fan @jef.works · 22/01/2026
As I'm updating my NIH Biosketch for the N-th time this year, I made a Jekyll theme for students to familiarize themselves with this CV structure while building their online presence. Demo: jefworks.github.io/online-biosk... Fork to modify: github.com/JEFworks/onl... #JustAcademicThings
083 0
Reposted by Boris Hejblum
Luis D. Verde Arregoitia @liomys.mx · 16/02/2026
Feb. update to the LLM+R guide 💪 8 new packages including: code review, predictive modeling, speech-to-text, text-to-speech, HuggingFace integration, Gemini CLI companion, a CLI coding agent written in R🤯 ,and more! available in English 🇱🇷 and Spanish 🇲🇽 luisdva.github.io/llmsr-book/ #rstats
03411 0
Reposted by Boris Hejblum
Jessica Hullman @jessicahullman.bsky.social · 05/02/2026
I wrote about what it means to keep writing when more language feels like the last thing we need--as a computer scientist, but also as a writer.
open.substack.com
Softly, effectively, in the age of AI
On dolphins and disobedience
3406 0
Reposted by Boris Hejblum
Tiffany Timbers @tiffanytimbers.bsky.social · 04/02/2026
"Ten simple rules for teaching data science": arxiv.org/abs/2602.02874 A new preprint by @minecr.bsky.social and myself. We'd love any feedback!
arxiv.org
Ten simple rules for teaching data science
Teaching data science presents unique challenges and opportunities that cannot be fully addressed by simply borrowing pedagogical strategies from its parent disciplines of statistics and computer scie...
38025 0
Reposted by Boris Hejblum
Seva @seva.bsky.social · 13/01/2026
I just finished a three-year term as an editor at an international relations journal. I began at the start of the LLM era but ended right in the middle of it. Our volume of submissions tripled and our desk reject rate rose to 75%. I have some thoughts. open.substack.com/pub/hegemon/...
open.substack.com
The Age of Academic Slop is Upon Us
what happens when AI automates "normal science"?
25651274 0
Reposted by Boris Hejblum
Adam Kucharski @adamjkucharski.bsky.social · 13/01/2026
Want to get the data out of a PDF figure? As in, the actual data – not a rough trace-along-the-lines version? I made an app you might like: adamkucharski.github.io/pdf2plot/ It all started a few years ago... 🧵
18479182 0
Reposted by Boris Hejblum
Posit @posit.co · 19/11/2025
Introducing bluffbench, a new tool to evaluate how well LLMs actually see data plots. When we trick LLMs with secret #RStats transformations, they can miss the visual contradiction. bluffbench helps us measure this "blind spot" in AI coding agents. Learn more: posit.co/blog/introdu...
posit.co
When plotting, LLMs see what they expect to see - Posit
Data science agents need to accurately read plots even when the content contradicts their expectations. Our testing shows today's LLMs still struggle here.
12411 0
Reposted by Boris Hejblum
Jenny Bryan @jennybryan.bsky.social · 31/10/2025
Will definitely include this example in my next talk on how to name files! ✅ Full marks for "make it easy to guess what the heck something is, based on it name".
1374 0
Reposted by Boris Hejblum
Isabella Velásquez @ivelasq3.bsky.social · 27/10/2025
I loved discussing "Positron for RStudio Users: A Gentle Introduction" with @simisani.bsky.social & R-Ladies Gaborone! Check out the recording and materials: 📹 www.youtube.com/watch?v=2fOQ... 📝 ivelasq.rbind.io/talk/positro... I hope this intro is better than the one between my three cats 😹
Positron for RStudio Users: A Gentle Introduction with an image of a cute orange kitten sniffing a hand
3398 0
Reposted by Boris Hejblum
🇲🇽 Leonardo Collado-Torres @lcolladotor.bsky.social · 24/10/2025
"What Makes a Good Data Visualization?" 🤔 Check @christinezhang.bsky.social's 🤩 excellent 💯 guest lecture for 140.776 Statistical Computing at @johnshopkinssph.bsky.social 📽️: youtu.be/SeLucCb05Dk Slides: speakerdeck.com/lcolladotor/... #RStats @jhubiostat.bsky.social @lieberinstitute.bsky.social
youtu.be
[2025-10-16] What Makes a Good Data Visualization?
YouTube video by Leonardo Collado Torres
1104 0
Reposted by Boris Hejblum
We Are RLadies+ @weare.rladies.org · 20/10/2025
If you haven't got a website and want to give #quarto a go, the first video in my "Quarto Websites" series with @emilhvitfeldt.bsky.social could be a good place to start: www.youtube.com/watch?v=l7r2... More resources in 🧵
youtube.com
Quarto Websites 1: Build your homepage | Charlotte Wickham & Emil Hvitfeldt | Posit
YouTube video by Posit PBC
24310 0
Reposted by Boris Hejblum
We Are RLadies+ @weare.rladies.org · 23/10/2025
The best I've managed is to use citations as usual, then edit a CSL file to make the style you would normally see in the "References" section, the style you get inline. Code example: github.com/cwickham/ref... Preview: cwickham.github.io/references/
261 0
Reposted by Boris Hejblum
Claus Wilke @clauswilke.com · 22/10/2025
We need to have a conversation about random seeds. Don't use 42. blog.genesmindsmachines.com/p/if-your-ra...
blog.genesmindsmachines.com
If your random seed is 42 I will come to your office and set your computer on fire🔥
Figuratively. More likely you'll get a stern talking to.
168935 0
Reposted by Boris Hejblum
Eva Heinz @evaheinz7.bsky.social · 19/10/2025
The linked course is an incredibly well-written, clear explanation of how LLMs work and outlines really thoughtfully what the can, and can't, do. Recommended read for absolutely everyone out there. #MicroSky #MicrobiomeSky 💻🧬
17620 0
Reposted by Boris Hejblum
Andrew Heiss @andrew.heiss.phd · 01/10/2025
can't wait to do my vibe research and vibe writing and vibe analysis and eventually get vibe promoted
6535 0
Reposted by Boris Hejblum
Thomas Lin Pedersen @thomasp85.com · 01/10/2025
🎨 Theming got a huge overhaul with the latest #ggplot2 release. In honour of that @teunbrand.bsky.social has written a comprehensive deep-dive into styling your plots, covering both old and new functionality. Grab a coffee and dive in! #rstats
tidyverse.org
ggplot2 styling
This post discusses one function in ggplot2: `theme()`. Find out about the glamour of graphics in this deep-dive article.
014241 0
Reposted by Boris Hejblum
Vincent Arel-Bundock @vincentab.bsky.social · 29/09/2025
{tinytable} 0.14.0 for #RStats makes it super easy to draw tables in html, tex, docx, typ, md & png. There are only a few functions to learn, but don't be fooled! Small 📦s can still be powerful. Check out the new gallery page for fun case studies. vincentarelbundock.github.io/tinytable/vi...
a table about lemurs a table about students and schoolsa table about wines
113438 0
Reposted by Boris Hejblum
Collin Berke @collinberke.bsky.social · 28/09/2025
"The real reason for all this cleaning work is the signal-to-noise ratio in raw data is too poor for purpose we intend. We need to improve data quality to amp the signal for our tools to find." 3/9
111 0
Reposted by Boris Hejblum
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 0
Reposted by Boris Hejblum
Thomas Lin Pedersen @thomasp85.com · 24/09/2025
I am super hyped to finally share the first release of plumber2 with all of you. This has been the center of my attention for a big part of 2025 and I hope you'll find it a worthy update to the venerable plumber package. The blog post will tell you more #rstats
tidyverse.org
plumber2 0.1.0
plumber2, a complete rewrite of plumber, has landed on CRAN, providing a modern, future proof solution for creating web servers in R. Read all about the new features here.
29227 0
Reposted by Boris Hejblum
Emily Riederer @emilyriederer.bsky.social · 15/09/2025
Really insightful post from Julie Tibshirani (spotted in LinkedIn, can't find on Bsky) reflecting on #rstats 's unique governance structure and what can be learned for other languages jtibs.substack.com/p/if-all-the...
jtibs.substack.com
If all the world were a monorepo
The R ecosystem and the case for extreme empathy in software maintenance
612550 0
Reposted by Boris Hejblum
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 0
Reposted by Boris Hejblum
Libby Heeren @libbyheeren.bsky.social · 09/09/2025
People keep telling me they can't afford to attend #PositConf2025 next week, so I need to make a public service announcement: attending virtually is very affordable (or free!) & is amazing! Get registered & hangout with me on the Discord server!! #databs #rstats #python
Screenshot from https://posit.co/conf-pricing-2025/ showing the posit conf virtual ticket pricing. $99 for standard virtual ticket, $49 for Government and Non-profit employees, and Free for students, academics, and needs-based attendees. There are hand-drawn doodles by Libby that highlight each option and one note says "Plus, Virtual Day!"
23921 0
Reposted by Boris Hejblum
Arthur Hughes @arthurhughes27.bsky.social · 08/09/2025
Glad to share our new open-access publication in Statistics in Medicine of a non-parametric method for the identification of high-dimensional surrogate markers written with Layla Parast, Rodolphe Thiébaut, and @borishejblum.science (doi.org/10.1002/sim....).
doi.org
RISE: Two‐Stage Rank‐Based Identification of High‐Dimensional Surrogate Markers Applied to Vaccinology
In vaccine trials with long-term participant follow-up, it is of great importance to identify surrogate markers that accurately infer long-term immune responses. These markers offer practical advanta....
111 0
Reposted by Boris Hejblum
Posit @posit.co · 29/08/2025
Introducing Databot: an AI assistant for exploratory data analysis in #Python and #RStats! A research preview in Positron, Databot is a tireless pair programmer to help you explore data. Learn more about this tool and our philosophy behind it: 🤖 posit.co/blog/introdu... ⚠️ posit.co/blog/databot...
Collaborate > automate. Databot logo alongside screenshot of Positron.
44915 0
Reposted by Boris Hejblum
Andrew Heiss @andrew.heiss.phd · 25/08/2025
New #QuartoPub extension! Quarto output styling adds CSS rules for computational output, warnings, and messages for #rstats, #python, #julialang, and #observablejs - use the default styles, minimal styles, or add your own custom CSS andrewheiss.github.io/quarto-outpu...
Output, errors, warnings, and messages in R, but they're all formatted the sameOutput, errors, warnings, and messages in R with a thin border around the output, and errors filled with red, warnings filled with yellow, and messages filled with blueWarnings and messages highlighted with actual R code showing a ggplot plot of penguin dataOutput, errors, warnings, and messages in R with a thin border around the output, and errors bordered with red, warnings bordered with yellow, and messages bordered with blue
39015 0
Reposted by Boris Hejblum
Charles Piller @charlespiller.bsky.social · 25/08/2025
Impressive look at the impact of paper mills on one journal, by Rene Aquarius, @elisabethbik.bsky.social, David Bimler, Morten Oksvold, @thatsregrettab1.bsky.social h/t @retractionwatch.com www.tandfonline.com/doi/full/10....
tandfonline.com
Tackling paper mills requires us to prevent future contamination and clean up the past – the case of the journal Bioengineered
Taylor & Francis journal Bioengineered has been targeted by paper mills. Our goal is to identify problematic articles published in Bioengineered during the period 2010 to 2024. Dimensions was used ...
0137 0
Reposted by Boris Hejblum
Julia M. Rohrer @dingdingpeng.the100.ci · 25/08/2025
Ever stared at a table of regression coefficients & wondered what you're doing with your life? Very excited to share this gentle introduction to another way of making sense of statistical models (w @vincentab.bsky.social) Preprint: doi.org/10.31234/osf... Website: j-rohrer.github.io/marginal-psy...
Models as Prediction Machines: How to Convert Confusing Coefficients into Clear Quantities

Abstract
Psychological researchers usually make sense of regression models by interpreting coefficient estimates directly. This works well enough for simple linear models, but is more challenging for more complex models with, for example, categorical variables, interactions, non-linearities, and hierarchical structures. Here, we introduce an alternative approach to making sense of statistical models. The central idea is to abstract away from the mechanics of estimation, and to treat models as “counterfactual prediction machines,” which are subsequently queried to estimate quantities and conduct tests that matter substantively. This workflow is model-agnostic; it can be applied in a consistent fashion to draw causal or descriptive inference from a wide range of models. We illustrate how to implement this workflow with the marginaleffects package, which supports over 100 different classes of models in R and Python, and present two worked examples. These examples show how the workflow can be applied across designs (e.g., observational study, randomized experiment) to answer different research questions (e.g., associations, causal effects, effect heterogeneity) while facing various challenges (e.g., controlling for confounders in a flexible manner, modelling ordinal outcomes, and interpreting non-linear models).
Figure illustrating model predictions. On the X-axis the predictor, annual gross income in Euro. On the Y-axis the outcome, predicted life satisfaction. A solid line marks the curve of predictions on which individual data points are marked as model-implied outcomes at incomes of interest. Comparing two such predictions gives us a comparison. We can also fit a tangent to the line of predictions, which illustrates the slope at any given point of the curve.A figure illustrating various ways to include age as a predictor in a model. On the x-axis age (predictor), on the y-axis the outcome (model-implied importance of friends, including confidence intervals).

Illustrated are 
1. age as a categorical predictor, resultings in the predictions bouncing around a lot with wide confidence intervals
2. age as a linear predictor, which forces a straight line through the data points that has a very tight confidence band and
3. age splines, which lies somewhere in between as it smoothly follows the data but has more uncertainty than the straight line.
461001284 0
Reposted by Boris Hejblum
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 0
Reposted by Boris Hejblum
Nick Tierney @njtierney.bsky.social · 18/08/2025
Make errors more accessible and better with #rstats package {more} by @milesmcbain.bsky.social - inspired by rustc's detailed error explanations! This idea feels so good. github.com/milesmcbain/...
github.com
GitHub - MilesMcBain/more: Serve up more when things go bad
Serve up more when things go bad. Contribute to MilesMcBain/more development by creating an account on GitHub.
1418 0
Reposted by Boris Hejblum
Itai Yanai @itaiyanai.bsky.social · 18/08/2025
The difference between doing a project and presenting it. An observation can lead to many avenues of explorations before focus turns to a specific discovery. Presenting it, in a talk / paper, follows inversely, with broad perspectives coming before & after the specific discovery.
612019 0
Reposted by Boris Hejblum
John Holbein @johnholbein1.bsky.social · 18/08/2025
Climate models since the 1970s nailed it—most predicted global warming almost exactly as it happened.
371430613 0
Reposted by Boris Hejblum
Jenny Bryan @jennybryan.bsky.social · 15/08/2025
I can't find this written anywhere (anymore?) but I've basically internalized 'put all the smarts in format() and make print() a minimal emitter' so format() returns character and print() just cat's that and adds newlines I also think you want print() to return the original object invisibly
3131 0
Reposted by Boris Hejblum
Claus Wilke @clauswilke.com · 15/08/2025
A simple design framework that will massively improve your slides and your public speaking clauswilke.substack.com/p/slides-tha...
clauswilke.substack.com
Slide designs that present themselves: The assertion–evidence template
Your slides are not your talk.
210849 0