Sign in

Daniel 🕹️

@strengejacke.de
628 followers 113 following 519 posts

He/she/it - 's' muss mit. We're lower than the world! R easystats project: easystats.github.io/easystats

PostsRepliesMedia
Reposted by Daniel 🕹️
Resiljens @stadioncheck.de · 02/10/2026
Altona-Fans mit wichtiger Message. #cornell57
Fußballfans halten ein Banner hoch: „Not all men, but always a man #Cornell57 Schaut nicht weg!“
29821
Reposted by Daniel 🕹️
Grant McDermott @gmcd.bsky.social · 28/09/2026
𝐭𝐢𝐧𝐲𝐩𝐥𝐨𝐭 v0.8.0 now available on CRAN 🎉 grantmcdermott.com/tinyplot/ This is another big release: new plot types, finer facet & axis control, smarter handling of categorical data, and lots more. Same tiny footprint, though. Short highlight thread below 🧵 #rstats
Heatmap of the mtcars dataset, scaled within each column. Code: https://github.com/grantmcdermott/tinyplot/blob/main/vignettes/gallery_figs/heatmap-mtcars.RHistogram of New York temperatures, with bars coloured by their own x values. Code: plt(~ Temp | Temp, data = airquality, type = "hist", theme = "classic")Hexbin plot of 20,000 bivariate normal draws. Code: https://github.com/grantmcdermott/tinyplot/blob/main/vignettes/gallery_figs/hexbin.RStacked area plot of telephones in use by world region, 1956-1961. Code: plt(WorldPhones[-1, ], type = type_area(stack = TRUE, byord = "end"))
13513
Daniel 🕹️ @strengejacke.de · 28/09/2026
As long as they don't go demon hunter or death knight, it's fine
010
Reposted by Daniel 🕹️
Katharina Nocun @kattascha.bsky.social · 27/09/2026
Hm, ich weiß, es ist ein beliebter Take von US-Rechten, liberalen Frauen Intoleranz vorzuwerfen, weil sie seltener rechte Männer daten wollen. Ergo tragen sie Schuld an männl. Einsamkeit & Radikalisierung, usw. Aber müssen wir wirklich jeden Quatsch hierzulande kopieren? Es langweilt mich. 🙄
541828311
Daniel 🕹️ @strengejacke.de · 24/09/2026
First R lesson: avoid tibbles wherever you can. 😎 It can save you years of searching for an error in your code when there's actually none... tidyverse with data frames would be nice.
170
Daniel 🕹️ @strengejacke.de · 23/09/2026
Or: can they be tested on CRAN? Sometimes, you want that test to work on CRAN, that might be an exception for snapshot tests
100
Daniel 🕹️ @strengejacke.de · 23/09/2026
Are snapshots tested on CRAN?
100
Daniel 🕹️ @strengejacke.de · 21/09/2026
"Intersubjektivität" presupposes subjects, and presupposes a 'connection' (meta-subject?) between these subjects that does not exist. See Luhmann, Die Wissenschaft der Gesellschaft - recommended reading, even if you don't want to follow that point of view ;-)
010
Daniel 🕹️ @strengejacke.de · 19/09/2026
So you need some kind of randomisation?
110
Daniel 🕹️ @strengejacke.de · 18/09/2026
Is Regression to the Mean a thing in longitudinal analysis using mixed models with random slopes (and interaction term between time x group)? And if so, to which extent? Or can we be relaxed due to shrinkage, and if we use pseudo-randomization via counterfactual predictions?
231
Daniel 🕹️ @strengejacke.de · 17/09/2026
The guillotine for the garbage-can regression...
030
Daniel 🕹️ @strengejacke.de · 16/09/2026
youtu.be/Kvj1eYiAZ1A
youtu.be
No! All
YouTube video by Descendents - Topic
010
Daniel 🕹️ @strengejacke.de · 09/09/2026
Nice to hear! 🤩 If you're looking for some resources, we have slides here: easystats.github.io/easystats/ar... And of course lot's of working examples and detailed introductions here: easystats.github.io/modelbased/ But I agree with Vincent, often, the "simple use cases" are sufficient for most.
easystats.github.io
Learning resources
001
Daniel 🕹️ @strengejacke.de · 22/08/2026
I was attending the 21st @eshms.bsky.social conference and beyond the many great sessions there was also an amazing session about the quantitative #MAIHDA approach. I updated the #rstats #easystats tutorial on MAIHDA modelling easystats.github.io/modelbased/a..., including some new things I learned.
easystats.github.io
Case Study: Intersectionality Analysis Using The MAIHDA Framework
030
Reposted by Daniel 🕹️
Aki Vehtari @avehtari.bsky.social · 13/08/2026
All four books I've co-authored are freely available online for non-commercial use: - Bayesian Workflow at avehtari.github.io/Bayesian-Wor... Links to other three books are in the quoted post 👇 (too many books to fit in one post!)
avehtari.github.io
Bayesian Workflow book: Website – Bayesian Workflow book
Website for the Bayesian Workflow book by Gelman, Vehtari, McElreath, et al. — case studies, code, and exercises in R and Stan.
8283134
Daniel 🕹️ @strengejacke.de · 06/08/2026
I also like this paper about (not needing) repeated sampling: link.springer.com/article/10.1... I don't think there's a majority who sees it that way.
link.springer.com
Frequentist statistical inference without repeated sampling - Synthese
Frequentist inference typically is described in terms of hypothetical repeated sampling but there are advantages to an interpretation that uses a single random sample. Contemporary examples are given ...
120
Daniel 🕹️ @strengejacke.de · 05/08/2026
Still, "evidence" does not indicate "clinical importance". You should take these two into account (not a new insight, I know...).
130
Daniel 🕹️ @strengejacke.de · 05/08/2026
Yes, I'd say the p-value is an indicator of the strength of evidence (lower p -> higher evidence), *provided key assumptions hold* - which are usually far more than typically acknowledged, see arxiv.org/abs/1909.085....
arxiv.org
To Aid Scientific Inference, Emphasize Unconditional Compatibility Descriptions of Statistics
All scientific interpretations of statistical outputs depend on background (auxiliary) assumptions that are rarely delineated or explicitly interrogated. These include not only the usual modeling assu...
130
Daniel 🕹️ @strengejacke.de · 05/08/2026
Just for the record, this is a good example for the `post_process` argument in {modelbased}...
library(modelbased)
data(mtcars)
m <- glm(am ~ vs, family = binomial, data = mtcars)

estimate_means(
  m,
  "vs",
  transform = effectsize::probs_to_odds,
  predict = "response",
  post_process = difference ~ pairwise
)
#> Post-processing difference ~ pairwise...
#> Estimated Marginal Means
#> 
#> Parameter   | Probability |   SE |       95% CI |    z
#> ------------------------------------------------------
#> (b2) - (b1) |        0.50 | 0.17 | [0.16, 0.84] | 2.88
#> 
#> Variable predicted: am
#> Predictors modulated: vs
#> Predictions are on the response-scale.
030
Daniel 🕹️ @strengejacke.de · 05/08/2026
"The p-*value* is not binary" - not an exact definition, but a good starting point.
010
Daniel 🕹️ @strengejacke.de · 28/07/2026
Which nowadays means "Claude or it didn't happen", with no chance to validate the output.
000
Daniel 🕹️ @strengejacke.de · 27/07/2026
Sadly, no. That's pretty much the issue.
000
Daniel 🕹️ @strengejacke.de · 19/07/2026
I hope US Americans don't think the World Cup final represents the real spirit of football in any way.
000
Daniel 🕹️ @strengejacke.de · 18/07/2026
youtu.be/Gg-SCpXba64
youtu.be
Danger Dan - Keine Angst
YouTube video by Danger Dan
020
Daniel 🕹️ @strengejacke.de · 08/07/2026
You can disable extensions from being re-installed, though.
030
Daniel 🕹️ @strengejacke.de · 08/07/2026
I think you don't need a subscription for GitHub NES (next edit suggestion) to work. But I agree, the GitHub NES is everything but "discreet". I uninstalled the posit AI extension, since it didn't work anyway (except the annoying GitHub NES).
130
Daniel 🕹️ @strengejacke.de · 08/07/2026
Here's an updated vignette for the modelbased package, which is probably clearer in its presentation and therefore the concepts are maybe easier to understand. #easystats #rstats easystats.github.io/modelbased/a...
easystats.github.io
Understanding marginalization methods
152
Daniel 🕹️ @strengejacke.de · 06/07/2026
static.klipy.com
I Know That Feel Bro - Pikachu Meme
ALT: I Know That Feel Bro - Pikachu Meme
010
Daniel 🕹️ @strengejacke.de · 29/06/2026
The best thing about the football game #GERPAR are the players singing the national anthems 😂🪇🙉
000
Daniel 🕹️ @strengejacke.de · 27/06/2026
Only payable with this plectrum
000
Daniel 🕹️ @strengejacke.de · 27/06/2026
110
Daniel 🕹️ @strengejacke.de · 24/06/2026
All material (code, data) is freely available at osf.io/8evy5/, but you can also use the easy-to-use function `check_priors()` in the #easystats {performance}📦 to conduct prior predictive checks: easystats.github.io/performance/...
easystats.github.io
Prior predictive checks — check_priors
Simulates from the prior marginal distribution of the data to assess the consistency of the chosen priors with domain knowledge (Gabry et al. 2019, Lüdecke et al. 2026) and creates a visualization fro...
050
Daniel 🕹️ @strengejacke.de · 24/06/2026
Bayesian priors aren't just arbitrary guesses - you can (and should) validate them. Our paper shows how to use prior predictive checks to map your domain knowledge onto the model, ensuring your assumptions generate realistic, well-calibrated priors. #Rstats #Stan #Bayes
151
Daniel 🕹️ @strengejacke.de · 24/06/2026
Subjectivity concerns holding you back from Bayesian methods? Our tutorial walks through a real-world case study using "believer", "agnostic", and "skeptical" priors to run a built-in sensitivity analysis - ensuring robust and transparent science >
150
Daniel 🕹️ @strengejacke.de · 24/06/2026
Small samples or rare events making your frequentist models unstable? In our paper, we show how Bayesian informative priors act as a regularizing force, narrowing credible intervals and preventing implausible estimates when data is sparse. >
130
Daniel 🕹️ @strengejacke.de · 24/06/2026
A new paper by @dominiquemakowski.bsky.social, @mattansb.msbstats.info, me and colleagues just out! We show how to choose informative priors in Bayesian regression models using a systematic simulation study and a practical step-by-step tutorial in #Rstats and #Stan! doi.org/10.3389/fpsy... >
17623
Daniel 🕹️ @strengejacke.de · 15/06/2026
Not a book, but a monthly magazine. Listings were available in Basic and ASM language.
020
Daniel 🕹️ @strengejacke.de · 15/06/2026
Fourth explanation: it's football. Hard to predict the outcome.
030
Daniel 🕹️ @strengejacke.de · 14/06/2026
Curaçao fans were in a fantastic mood even after their defeat against Germany—and then, the German Ballermann music started playing in Houston 🙈 Horrible...
000
Daniel 🕹️ @strengejacke.de · 14/06/2026
It's a FIFA/US event, you can be happy to find some small bits of football between all ads and shows 😜
020
Daniel 🕹️ @strengejacke.de · 24/05/2026
And there's a package vignette with some more details: easystats.github.io/performance/...
easystats.github.io
Checking model assumption - linear models
041
Reposted by Daniel 🕹️
RASH und Subkultur @rashundsubkultur.bsky.social · 20/05/2026
Sehr nützliche Übersicht über antifaschistische Rechercheseiten und andere linke Seiten:
de.indymedia.org
Das Rad muss nicht neu erfunden werden 2.0 / Link-Liste | de.indymedia.org
0167
Daniel 🕹️ @strengejacke.de · 21/05/2026
The biggest hurdle in switching from SPSS to R is thinking in programming logic. Instead of single datasets or temporary outputs, R treats everything as an object. To master this mindset, I highly recommend Andy’s video series - especially "Creating an Object" and "What is a function?" #rstats
040
Daniel 🕹️ @strengejacke.de · 20/05/2026
Even if you don't like Bayes factors, if you read this, you'll like them! #easystats #rstats #bayestestR
050
Daniel 🕹️ @strengejacke.de · 20/05/2026
Good to hear, I thought I missed something... And yes, for this particular example, I was not looking for counterfactual predictions.
020
Daniel 🕹️ @strengejacke.de · 20/05/2026
Still not get it working 🙈 Can you rewrite this code with a different hypothesis argument and make it return the same results? (code in alt text)
set.seed(123)
n <- 200
d <- data.frame(
  outcome = rnorm(n),
  grp = as.factor(sample(c("treatment", "control"), n, TRUE)),
  episode = as.factor(sample(1:3, n, TRUE)),
  sex = as.factor(sample(c("female", "male"), n, TRUE, prob = c(0.4, 0.6)))
)
model2 <- lm(outcome ~ grp * episode, data = d)

avg_predictions(
  model2,
  by = c("episode", "grp"),
  hypothesis = "(b1 - b3) = (b2 - b4)"
)
100
Daniel 🕹️ @strengejacke.de · 20/05/2026
Does difference ~ pairwise also return difference-in-difference-contrasts (interaction contrasts)? Couldn't reproduce the above results yet that way.
200
Daniel 🕹️ @strengejacke.de · 20/05/2026
We put quite some effort into extracting the related labels to "b1", "b2" etc., to put that information for users in the footer, so you can easily see whether you chose the correct coefficients to compare.
130
Daniel 🕹️ @strengejacke.de · 20/05/2026
Code in Alt-text... You always have to look at the table of predictions, to find out the b-terms/rows. Since the order of coefficients is different between modelbased and marginaleffects, you see different values for the hypothesis-argument here.
library(modelbased)
library(marginaleffects)

set.seed(123)
n <- 200
d <- data.frame(
  outcome = rnorm(n),
  grp = as.factor(sample(c("treatment", "control"), n, TRUE)),
  episode = as.factor(sample(1:3, n, TRUE)),
  sex = as.factor(sample(c("female", "male"), n, TRUE, prob = c(0.4, 0.6)))
)
model2 <- lm(outcome ~ grp * episode, data = d)

estimate_contrasts(model2, c("episode", "grp"), comparison = "(b1 - b2) = (b4 - b5)", estimate = "average")

avg_predictions(
  model2,
  by = c("episode", "grp"),
  hypothesis = "(b1 - b3) = (b2 - b4)"
)
030
Daniel 🕹️ @strengejacke.de · 20/05/2026
Here's how to do it with #easystats modelbased, which internally uses marginaleffects: easystats.github.io/modelbased/a... Let me look into the codebase, then I can tell you the marginaleffects code later,too
easystats.github.io
Contrasts and pairwise comparisons
121