Alexander Severinsen's Avatar

Alexander Severinsen

@alexsever.bsky.social

Data scientist @ Cofactor. R, Shiny and Python.

45 Followers  |  134 Following  |  7 Posts  |  Joined: 20.11.2024
Posts Following

Posts by Alexander Severinsen (@alexsever.bsky.social)

Preview
A Few Claude Skills for R Users – R Works The community has come together to create some great Claude Skills that you can try out today.

I rounded up a few Claude Skills for #RStats users.

Huge thanks to the creators who developed them. They share Skills for everything from tidyverse code to brand.yml files to learning while using AI.

Hope the list is useful, and please let me know what I missed! 🧑

rworks.dev/posts/claude...

03.03.2026 14:05 β€” πŸ‘ 131    πŸ” 38    πŸ’¬ 4    πŸ“Œ 4
Post image

#rstats #mapgl #shiny
Just finished integrating mapbox into my R Shiny app using the mapgl R package, including a steepness layer.That library is a true find! Picture from mountains in Lyngen where I should be more often rather than in front of a computer πŸ˜…

24.02.2026 20:48 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

#rstats
A single line of code that made my day! Just added FROM rocker/r2u:jammy to my Dockerfile and my image that used to take 90 minutes to build took 1 minute 🀯❀️

24.02.2026 12:02 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Simulated null distribution for data with a sample size of 100, difference in group means of 5, and a p-value of 0.142

Simulated null distribution for data with a sample size of 100, difference in group means of 5, and a p-value of 0.142

Simulated null distribution of a slope of 0.8 and p-value of 0.002

Simulated null distribution of a slope of 0.8 and p-value of 0.002

Finally, we have to decide if the p-value meets an evidentiary standard or threshold that would provide us with enough evidence that we aren’t in the null world (or, in more statsy terms, enough evidence to reject the null hypothesis).

There are lots of possible thresholds. By convention, most people use a threshold (often shortened to Ξ±) of 0.05, or 5%. But that’s not required! You could have a lower standard with an Ξ± of 0.1 (10%), or a higher standard with an Ξ± of 0.01 (1%).

Statistically significant
The p-value is < 0.001 and our threshold for Ξ± is 0.05

In a world where there is no relationship between x and y, the probability of seeing a slope of at least 0.901 is < 0.1%

Since < 0.001 is less than 0.05, we have enough evidence to say that the slope is statistically significant.

Finally, we have to decide if the p-value meets an evidentiary standard or threshold that would provide us with enough evidence that we aren’t in the null world (or, in more statsy terms, enough evidence to reject the null hypothesis). There are lots of possible thresholds. By convention, most people use a threshold (often shortened to Ξ±) of 0.05, or 5%. But that’s not required! You could have a lower standard with an Ξ± of 0.1 (10%), or a higher standard with an Ξ± of 0.01 (1%). Statistically significant The p-value is < 0.001 and our threshold for Ξ± is 0.05 In a world where there is no relationship between x and y, the probability of seeing a slope of at least 0.901 is < 0.1% Since < 0.001 is less than 0.05, we have enough evidence to say that the slope is statistically significant.

Evidentiary standards

When thinking about p-values and thresholds, I like to imagine myself as a judge or a member of a jury. Many legal systems around the world have formal evidentiary thresholds or standards of proof. If prosecutors provide evidence that meets a threshold (i.e. goes beyond a reasonable doubt, or shows evidence on a balance of probabilities), the judge or jury can rule guilty. If there’s not enough evidence to clear the standard or threshold, the judge or jury has to rule not guilty.

With p-values:

If the probability of seeing an effect or difference (or Ξ΄) in a null world is less than 5% (or whatever the threshold is), we rule it statistically significant and say that the difference does not fit in that world. We’re pretty confident that it’s not zero.
If the p-value is larger than the threshold, we do not have enough evidence to claim that Ξ΄ doesn’t come from a world of where there’s no difference. We don’t know if it’s not zero.
Importantly, if the difference is not significant, that does not mean that there is no difference. It just means that we can’t detect one if there is. If a prosecutor doesn’t provide sufficient evidence to clear a standard or threshold, it does not mean that the defendant didn’t do whatever they’re charged with†—it means that the judge or jury can’t detect guilt.

Evidentiary standards When thinking about p-values and thresholds, I like to imagine myself as a judge or a member of a jury. Many legal systems around the world have formal evidentiary thresholds or standards of proof. If prosecutors provide evidence that meets a threshold (i.e. goes beyond a reasonable doubt, or shows evidence on a balance of probabilities), the judge or jury can rule guilty. If there’s not enough evidence to clear the standard or threshold, the judge or jury has to rule not guilty. With p-values: If the probability of seeing an effect or difference (or Ξ΄) in a null world is less than 5% (or whatever the threshold is), we rule it statistically significant and say that the difference does not fit in that world. We’re pretty confident that it’s not zero. If the p-value is larger than the threshold, we do not have enough evidence to claim that Ξ΄ doesn’t come from a world of where there’s no difference. We don’t know if it’s not zero. Importantly, if the difference is not significant, that does not mean that there is no difference. It just means that we can’t detect one if there is. If a prosecutor doesn’t provide sufficient evidence to clear a standard or threshold, it does not mean that the defendant didn’t do whatever they’re charged with†—it means that the judge or jury can’t detect guilt.

I just whipped up this little #QuartoPub site last week that demonstrates how I teach p-values/hyp-testing through simulation both with live OJS and with #rstats, and I think it's super neat! It has examples for diff-in-means, diff-in-props, and regression slopes nullworlds.andrewheiss.com #statsky

11.02.2026 21:14 β€” πŸ‘ 139    πŸ” 26    πŸ’¬ 3    πŸ“Œ 5
Preview
nanonext 1.8.0 nanonext 1.8.0 adds a low-level streaming HTTP/WebSocket server to R's web infrastructure, with TLS support, new async primitives, and redesigned documentation.

nanonext 1.8.0 is out - R now has a streaming HTTP/WebSocket server with bundled TLS.

Runs alongside Shiny in the same process. We're already using it at Posit to explore new real-time capabilities.

#Rstats #tidyverse

tidyverse.org/blog/2026/02/nanonext-1-8-0/

09.02.2026 20:13 β€” πŸ‘ 28    πŸ” 7    πŸ’¬ 1    πŸ“Œ 0
Post image

My first go at Claude Code. Quite scary and quite useful! Any good #rstats advice for getting along with RStudio?

26.01.2026 19:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Facilitate Citation of R Packages Facilitates the citation of R packages used in analysis projects. Scans project for packages used, gets their citations, and produces a document with citations in the preferred bibliography format, re...

#statstab #466 {grateful} Facilitate citation of R packages

Thoughts: Great little package to easily cite all the packages you use in a script. (doesn't cite itself unless you ask it)

#rstats #r #packages #acknowledgement #credit #quarto

pakillo.github.io/grateful/ind...

19.01.2026 13:51 β€” πŸ‘ 23    πŸ” 7    πŸ’¬ 0    πŸ“Œ 0

Finished teaching my new Advance Stats for Psych graduate course today with a heavy emphasis on both DAGs and shifting away from coefficient interpretation and towards models as prediction machines.

Both went great!

The latter was extremely helpful for logistic regression (for obvious reasons πŸ˜΅β€πŸ’«)!

19.01.2026 18:28 β€” πŸ‘ 65    πŸ” 11    πŸ’¬ 2    πŸ“Œ 0
Post image

rspatialdata: a repository of spatial datasets & tutorials for spatial analysis & visualization in #rstats, supporting real-world applications such as estimating air pollution, quantifying disease burden, and monitoring progress toward the SDGsπŸŒπŸ’»πŸ“Š

πŸ‘‰ rspatialdata.github.io

18.01.2026 15:19 β€” πŸ‘ 78    πŸ” 36    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

New Year, New Colour Tool
for you data visualizers and maybe the odd designer

obumbratta.com/colour

07.01.2026 16:20 β€” πŸ‘ 258    πŸ” 62    πŸ’¬ 6    πŸ“Œ 12
We just read a ~180 million row dataset (from disk!) and did a group-by aggregation on it.
In < 1 second.
On a laptop.

We just read a ~180 million row dataset (from disk!) and did a group-by aggregation on it. In < 1 second. On a laptop.

Benchmark plot showing minimal data I/O cost of duckdb and polars relative to other options (alongside very fast compute time)

Benchmark plot showing minimal data I/O cost of duckdb and polars relative to other options (alongside very fast compute time)

A few months ago, I gave a workshop on β€œ(Pretty) big data wrangling with DuckDB and Polars”.

Slides, notebooks etc. are all available here: grantmcdermott.com/duckdb-polars/

#EconSky

23.08.2024 17:40 β€” πŸ‘ 91    πŸ” 23    πŸ’¬ 2    πŸ“Œ 2
Preview
Mapping Europe’s rooftop photovoltaic potential with a building-level database - Nature Energy This resource presents an open per-building dataset of rooftop solar photovoltaics potential for the European Union. The results show that potential capacity could cover approximately 40% of electricity demand in a 100% renewable scenario for 2050.

A new resource presents an open per-building dataset of rooftop solar PV potential in the EU, finding that potential capacity could cover around 40% of electricity demand in a 100% renewable 2050 scenario.

16.01.2026 19:58 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Soooo if you use #RStats and Claude Code:
R console: install.packages("btw")
Terminal: claude mcp add -s "user" r-btw -- Rscript -e "btw::btw_mcp_server()"
And now Claude Code can answer questions about ANY R package installed on your system.

07.01.2026 03:00 β€” πŸ‘ 66    πŸ” 11    πŸ’¬ 4    πŸ“Œ 0
Preview
GitHub - brownag/gdalcli: An R Frontend for the GDAL CLI An R Frontend for the GDAL CLI. Contribute to brownag/gdalcli development by creating an account on GitHub.

Introducing gdalcli by Andrew Brown -- an R frontend to GDAL’s unified CLI (β‰₯3.11) 🌐

Compose and execute GDAL workflows with pipe-friendly functions.

Learn more: github.com/brownag/gdal...

#RStats #GDAL #Geospatial #OpenSource #RSpatial

04.01.2026 15:01 β€” πŸ‘ 37    πŸ” 13    πŸ’¬ 1    πŸ“Œ 0
Post image

How well do LLMs generate R code?
skaltman-model-eval-app.share.connect.posit.cloud #rstats #llm

12.12.2025 23:14 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

πŸš€ Watch the Earth Change: New QGIS Plugin Creates Satellite Timelapse Animations in Seconds 🌍

A QGIS plugin for creating timelapse animations from satellite and aerial imagery using Google Earth Engine. Supports NAIP, Landsat, Sentinel-2, Sentinel-1, MODIS NDVI, and GOES weather satellite imagery.

27.12.2025 18:25 β€” πŸ‘ 47    πŸ” 12    πŸ’¬ 3    πŸ“Œ 0
Post image

My favorite #Python package to use is spopt, a library for spatial optimization.

It helps you with:

πŸ“Š Facility location planning;
πŸ“Š Sales territory design;
πŸ“Š Maximizing market share;

And much more! Check it out here:

pysal.org/spopt/

27.12.2025 14:56 β€” πŸ‘ 19    πŸ” 8    πŸ’¬ 2    πŸ“Œ 0
Post image

Working with big spatial data sets in #rstats? You should try {duckspatial}. The dev version of #duckspatial (soon on CRAN) uses #duckdb to perform super fast and memory efficient spatial operations cidree.github.io/duckspatial/...
In a benchmark against, {sf}....

30.12.2025 17:28 β€” πŸ‘ 77    πŸ” 22    πŸ’¬ 2    πŸ“Œ 3
Preview
Better Code, Without Any Effort, Without Even AI Useful local, free, deterministic tools to improve your code

New Post on @ropensci.org: Better #RStats Code, Without Any Effort, Without Even AI

Edited by @etiennebacher.bsky.social & Steffi LaZerte

Read about:

✨ {lintr} for detecting lints
✨ Air for formatting code
✨ jarl for detecting+fixing lints
✨ {flir} for refactoring

ropensci.org/blog/2025/12...

15.12.2025 12:28 β€” πŸ‘ 37    πŸ” 10    πŸ’¬ 0    πŸ“Œ 0
Post image

Creating polished PDFs from Quarto can be challenging.

At @claritydatastudio.com, we now use Typst for high-quality, branded reports.

@joseph-barbier.bsky.social and I have created a detailed walkthrough to show you how we do it.

Learn more: buff.ly/hRuUEqR

#rstats

12.11.2025 15:03 β€” πŸ‘ 12    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0
library(dplyr)
library(gm)

golden <- tribble(
  ~pitches,  ~duration,   ~lyric,
  "E4",      "q",         "I’m",
  "G4",      "q",         "done",
  "C5",      "q",         "hid-",
  "B4",      "q",         "-ing",
  "D4",      "q",         "now",
  "G4",      "q",         "I’m",
  "E5",      "q",         "shin-",
  "D5",      "q",         "-ing",
  "G4",      "q",         "like",
  "B4",      "q",         "I’m",
  "A5",      "q",         "born",
  "F#5",     "q/3*(q/8)", "to", 
  "G5",      "q/3",       "be._",
  "G5",      "h",         ""
)

music <- 
  Music() +
  Key(1) +
  Tempo(125) +
  Meter(2, 4) +
  Line(pitches = golden$pitches, durations = golden$duration) + 
  Tie(13) +
  Lyric(golden$lyric[1], 1) + Lyric(golden$lyric[2], 2) + 
  Lyric(golden$lyric[3], 3) + Lyric(golden$lyric[4], 4) + 
  Lyric(golden$lyric[5], 5) + Lyric(golden$lyric[6], 6) +
  Lyric(golden$lyric[7], 7) + Lyric(golden$lyric[8], 8) + 
  Lyric(golden$lyric[9], 9) + Lyric(golden$lyric[10], 10) + 
  Lyric(golden$lyric[11], 11) + Lyric(golden$lyric[12], 12) +
  Lyric(golden$lyric[13], 13)

show(music)

library(dplyr) library(gm) golden <- tribble( ~pitches, ~duration, ~lyric, "E4", "q", "I’m", "G4", "q", "done", "C5", "q", "hid-", "B4", "q", "-ing", "D4", "q", "now", "G4", "q", "I’m", "E5", "q", "shin-", "D5", "q", "-ing", "G4", "q", "like", "B4", "q", "I’m", "A5", "q", "born", "F#5", "q/3*(q/8)", "to", "G5", "q/3", "be._", "G5", "h", "" ) music <- Music() + Key(1) + Tempo(125) + Meter(2, 4) + Line(pitches = golden$pitches, durations = golden$duration) + Tie(13) + Lyric(golden$lyric[1], 1) + Lyric(golden$lyric[2], 2) + Lyric(golden$lyric[3], 3) + Lyric(golden$lyric[4], 4) + Lyric(golden$lyric[5], 5) + Lyric(golden$lyric[6], 6) + Lyric(golden$lyric[7], 7) + Lyric(golden$lyric[8], 8) + Lyric(golden$lyric[9], 9) + Lyric(golden$lyric[10], 10) + Lyric(golden$lyric[11], 11) + Lyric(golden$lyric[12], 12) + Lyric(golden$lyric[13], 13) show(music)

The first part of the bridge from "Golden" from KPop Demon Hunters

The first part of the bridge from "Golden" from KPop Demon Hunters

Just discovered the {gm} package, which lets you programmatically create sheet music (and audio!) with #rstats (with MuseScore as the backend) flujoo.github.io/gm/index.html

03.10.2025 17:41 β€” πŸ‘ 80    πŸ” 21    πŸ’¬ 7    πŸ“Œ 1

The @maprva.org surveillance map, ported to #Rstats using mapgl, osmdata, sf, and dplyr.

gist.github.com/mhpob/17782b...

Not 1:1 in terms of Ultra/Mapbox GL JS -> R, but pretty close!
Original query: overpass-ultra.us#query=url%3A...

cc @mackaszechno.bsky.social @kylewalker.bsky.social

07.10.2025 19:09 β€” πŸ‘ 16    πŸ” 5    πŸ’¬ 1    πŸ“Œ 1
Video thumbnail

Are you an RStudio user thinking about trying Positron? We put together some resources to help with the transition.

Learn how to import your keybindings and handle projects while gaining a more flexible environment for both #RStats and Python.

Check out the guide: positron.posit.co/migrate-rstu...

10.09.2025 13:44 β€” πŸ‘ 47    πŸ” 14    πŸ’¬ 3    πŸ“Œ 0
Preview
Positron Assistant: GitHub Copilot and Claude-Powered Agentic Coding in R Positron Assistant provides inline completions with GitHub Copilot and chat using Claude 4 Sonnet. Demonstration: using agent mode to create an R package with Roxygen2 docs and testthat unit tests.

Positron Assistant: GitHub Copilot and Claude-Powered Agentic Coding in R blog.stephenturner.us/p/positron-a...
#rstats

16.07.2025 12:08 β€” πŸ‘ 24    πŸ” 4    πŸ’¬ 0    πŸ“Œ 0
Positron connected to a not-really-remote remote session inside a Docker container

Positron connected to a not-really-remote remote session inside a Docker container

*Another* blog post about @posit.co's Positron! Its Remote Explorer feature lets you connect to other computers via SSH, including locally-running Docker containers, which means you can write and run code in version-locked #rstats environments! www.andrewheiss.com/blog/2025/07...

05.07.2025 17:20 β€” πŸ‘ 86    πŸ” 16    πŸ’¬ 9    πŸ“Œ 4

Really enjoyed speaking to Cascadia R Conference today! Materials from my talk are at rfortherestofus.com/cascadia2025. #rstats

21.06.2025 23:07 β€” πŸ‘ 49    πŸ” 9    πŸ’¬ 2    πŸ“Œ 1

Great. Thanks!

11.06.2025 05:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I am contributing with more Rstudios running than browser tabs 😬 (but I do turn them off during Christmas).

10.06.2025 19:41 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

#rstats
I recently needed a Py lib in a R Shiny app (in a Docker container). Magical to use reticulate and uv to make this work! Later, I restarted the container - no code changes. App crashed. Why? uv had silently installed the latest version of a Py lib. What’s the best practice to prevent this?

10.06.2025 18:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
A screenshot of the book chapter

A screenshot of the book chapter

A screenshot of the book chapter

A screenshot of the book chapter

A screenshot of the book chapter

A screenshot of the book chapter

A screenshot of the book chapter

A screenshot of the book chapter

Chapter 7: Coordinate Reference Systems πŸ§­πŸ“πŸŒ

This chapter explains how to work with coordinate reference systems (CRSs) in R. Learn how to reproject vector and raster data, and understand how CRS choices affect spatial analysis.

πŸ”— r.geocompx.org/reproj-geo-d...

#rstats #rspatial #geocompx

08.06.2025 14:02 β€” πŸ‘ 12    πŸ” 3    πŸ’¬ 0    πŸ“Œ 0