Sign in

easystats

@easystats.github.io
1.1K followers 118 following 113 posts

Official channel of {easystats}, a collection of #rstats 📦s with a unifying and consistent framework for statistical modeling, visualization, and reporting. “Statistics are like sausages. It’s better not to see them being made, unless you use easystats.”

PostsRepliesMedia
Reposted by easystats
tj mahr 🤘 @tjmahr.com · 25/09/2026
what a handy page easystats.github.io/effectsize/r...
easystats.github.io
Interpret Correlation Coefficient — interpret_r
Interpret Correlation Coefficient
092
easystats @easystats.github.io · 17/09/2026
Fitted the model? Great, that was just step one. 🛠️ Learn how to extract the actual answers to your research questions (predictions, contrasts, slopes) using the {modelbased} modelisation-approach. Read the new vignette here: easystats.github.io/modelbased/a... #RStats #easystats
0236
Reposted by easystats
Mattan S. Ben-Shachar @mattansb.msbstats.info · 03/09/2026
Want to make your #rstats code 712% easier to debug and results 637% easier to read? Add this simple skill for Claude to use: "Hey, pssst, Claude, @easystats.github.io packages exists - use it instead of writing 400 ad-hoc functions"
4195
easystats @easystats.github.io · 10/08/2026
Want to know what happens under the hood when calculating estimated marginal means? Read the {modelbased} vignette "Understanding marginalization methods"! It breaks down the different approaches with hands-on manual calculations using penguins-data. easystats.github.io/modelbased/a...
easystats.github.io
Understanding marginalization methods
0214
easystats @easystats.github.io · 04/08/2026
A massive thank you to everyone who contributed to the #easystats project over the last few months! 🚀 Thanks to the amazing R community on GitHub, you've fixed plenty of bugs and rolled out exciting new features. We absolutely appreciate your support and collaboration! #rstats #OpenSource
1221
easystats @easystats.github.io · 30/06/2026
Big news from the #rstats #easystats universe! 🚀 We’ve just released updates for several of our packages to CRAN. Time for a quick highlight reel of the most important new features. 🧵 (1/4) You find the details on the related package websites (shown below), and on CRAN.
1152
easystats @easystats.github.io · 11/06/2026
A truly great book! And we’re not just saying that because our #easystats packages are in it. Although, of course, that’s (a small) part of the reason why the book is so great. 😎
0243
easystats @easystats.github.io · 11/06/2026
Did you know that you can use the #easystats #rstats {modelbased} package detect missed modeling by adding partial residuals to your plots? Check out the vignette on plotting options that shows you how to check your model: easystats.github.io/modelbased/a...
easystats.github.io
Plotting estimated marginal means
083
Reposted by easystats
Francisco Rodriguez-Sanchez @frodsan.bsky.social · 31/05/2026
{easystats} is not only highly functional and powerful, but their help is also a goldmine of accessible #statistics advice. Here explaining how to address high VIF values (hint: generally not by removing predictors, as often done) easystats.github.io/performance/... Thanks @easystats.github.io
High VIF values indicate that coefficient estimates may be unstable and have inflated standard errors. However, removing predictors with high VIF values is generally not recommended as a blanket solution (Vanhove 2021; Morrissey and Ruxton 2018; Gregorich et al. 2021). Multicollinearity is primarily a concern for interpretation of individual coefficients, not for the model’s overall predictive performance or for drawing inferences about the combined effects of correlated predictors.

Consider these points when dealing with multicollinearity:

    If your goal is prediction, multicollinearity is typically not a problem. The model can still make accurate predictions even when predictors are highly correlated (Feng et al. 2019; Graham 2003).

    If your goal is to interpret individual coefficients, high VIF values signal that you should be cautious. The coefficients represent the effect of each predictor while holding all others constant, which may not be meaningful when predictors are strongly related. In such cases, consider:
        Interpreting coefficients jointly rather than individually
        Acknowledging the uncertainty in individual coefficient estimates
        Considering whether your research question truly requires separating the effects of correlated predictors

    For interaction terms, high VIF values are expected and often unavoidable. This is sometimes called “inessential ill-conditioning” (Francoeur 2013). Centering the component variables can sometimes help reduce VIF values for interactions (Kim and Jung 2024).

    Consider the substantive context: Sometimes, multicollinearity reflects important aspects of your data or research question. Removing variables to reduce VIF may actually harm your analysis by omitting important confounders or by changing the interpretation of remaining coefficients (Gregorich et al. 2021).
16512
easystats @easystats.github.io · 24/05/2026
🚀 Big updates are here! A new round of #rstats #easystats releases is now live on CRAN, featuring major performance boosts and new features for parameters, bayestestR, performance, modelbased, and see. Update via CRAN or grab the latest dev versions with: `easystats::install_latest()`
1357
easystats @easystats.github.io · 19/05/2026
easystats - We Have the Best Vignettes™
051
Reposted by easystats
Mattan S. Ben-Shachar @mattansb.msbstats.info · 19/05/2026
🚨NEW-ish VIGNETTE ALERT🚨 The Bayes factor vignette for {bayestestR} has been completely re-written! We've got all the BFs! - Marginal likelihoods - Model & posterior averaging - Order restrictions - Savage-Dickey density ratios AND MORE! Read it up, here: @easystats.github.io #Bayes #rstats
2285
Reposted by easystats
Felix Thoemmes @felixthoemmes.bsky.social · 05/05/2026
It has arrived @vincentab.bsky.social Perfect sabbatical reading for next semester and will have to think about how I will weave marginaleffects, emmeans, and @easystats.github.io together for teaching next year...
Model to meaning book by Vincent Arel-Bundock
3296
easystats @easystats.github.io · 26/04/2026
This is such a great tutorial! If you run mixed models, learning how to tease apart state vs. trait differences is an absolute game-changer. Check out this guide from the #rstats #easystats {modelbased} package. 📊👇
0164
easystats @easystats.github.io · 02/03/2026
Your model is only as good as its assumptions. 📊 But what happens when your data breaks the rules? Let’s dive into how to check your model assumptions—and exactly how to fix those pesky violations: 🧵👇 easystats.github.io/performance/... #rstats #easystats #performance
easystats.github.io
Checking model assumption - linear models
0174
easystats @easystats.github.io · 19/02/2026
New updates of {performance} and {see} arrived at CRAN, with some nice improvements for `check_model()`. You can now limit data points to boost performance for large models or hide confidence intervals for models with only few data and spuriously large intervals easystats.github.io/performance/...
easystats.github.io
Changelog
031
Reposted by easystats
Mattan S. Ben-Shachar @mattansb.msbstats.info · 12/02/2026
Lots of folks interested in outlier detection with @easystats.github.io's {performance} @ #ISCOP2026
061
Reposted by easystats
Dr Mircea Zloteanu 🌺🌞🍃 @mzloteanu.bsky.social · 19/11/2025
#statstab #463 {modelbased} Understanding your models Thoughts: A deceptively simple case study on how to understand and report your model. #rstats #modelling #easystats #r #reporting easystats.github.io/modelbased/a...
easystats.github.io
Case Study: Understanding your models
092
Reposted by easystats
Andrew Heiss @andrew.heiss.phd · 23/01/2026
See here for an example of their differences. Even though {parameters} prints things as not-tibbles, it still uses data frames behind the scenes and you can do regular dplyr things. {parameters} fits directly in the {tinytable} world too, which is nice andrewheiss.quarto.pub/parameters-v...
andrewheiss.quarto.pub
{parameters} vs. {broom}
162
Reposted by easystats
Andrew Heiss @andrew.heiss.phd · 22/01/2026
Finally got around to removing broom::tidy(), broom::glance(), and broom::augment() from my class examples in favor of parameters::model_parameters(), performance::model_performance() and marginaleffects::predictions() because they're *so nice* for teaching! #rstats #easystats
4796
easystats @easystats.github.io · 12/12/2025
🎉 Great news for #rstats users! If you love the native R graphics feel of #tinyplot AND you're a fan of the powerful #easystats #modelbased package, this is for you! Thanks to @gmcd.bsky.social, we significantly enhanced the tinyplot integration. 🔗 Read more: easystats.github.io/modelbased/a...
easystats.github.io
Plotting estimated marginal means with tinyplot
1287
Reposted by easystats
Rémi Thériault @remi-theriault.com · 08/11/2025
{report} #rstats package version 0.6.2 is now on CRAN! MANY bug fixes in this version! Including corrected duplicated text outputs and dramatic speed increases for brmsfit models (which used to refit the model entirely every time). easystats.github.io/report/ With the @easystats.github.io team
easystats.github.io
Automated Reporting of Results and Statistical Models
The aim of the report package is to bridge the gap between R’s output and the formatted results contained in your manuscript. This package converts statistical models and data frames into textual repo...
1134
easystats @easystats.github.io · 01/09/2025
Alrighty, {easystats} users! 👋 Ever wonder how those neat tables magically appear in your R console, or even better, in your fancy #rstats Markdown and Quarto docs? Well, most of the objects you work with in {easystats} are basically tables, i.e. a 2D matrix with columns and rows...
library(modelbased)
data(penguins)
model <- lm(body_mass ~ species * island, data = penguins)
out <- estimate_means(model, c("species", "island"))

# basic text output
out

# HTML in viewer pane, using the gt-package
display(out, format = "html")

# tinytable by defaults prints to the viewer pane, too,
# but we change the default to markdown for the console here
options(tinytable_print_output = "markdown")

# nice markdown output in the console, including colored text!
display(out, format = "tt", footer = "") |> 
  tinytable::style_tt(i = 1:3, color = "#cc0000") |> 
  tinytable::style_tt(i = 4:6, indent = 2, background = "#009900") |> 
  tinytable::theme_markdown(ansi = TRUE)
2131
easystats @easystats.github.io · 31/08/2025
Okay, so you've crunched your numbers and got some awesome statistical models? Sometimes, just knowing "X predicts Y" isn't enough to really get to the juicy bits. That's where the cool post-hoc stuff comes in – think estimated marginal means, contrasts, pairwise comparisons, or #marginaleffects.
1182
Reposted by easystats
Prof Andy Field @profandyfield.com · 20/08/2025
I’m about halfway through this update (first 11 tutorials are done). I think they’re a lot better. Using a consistent @easystats.github.io workflow throughout will - I think - massively reduce the cognitive load for students. Looking forward to road testing in autumn term.
44710
easystats @easystats.github.io · 28/07/2025
How to summarize the total effect of a categorical variable like education? A new vignette shows how to compute absolute and relative inequality with the #easystats {modelbased}📦in #rstats. Get a single, interpretable number to quantify overall group disparities! easystats.github.io/modelbased/a...
easystats.github.io
Case Study: Measuring and comparing absolute and relative inequalities in R
0201
Reposted by easystats
Jarrett Byrnes @jebyrnes.bsky.social · 25/07/2025
Modelbased for Quick and Beautiful Model Visualization in #rstats imachordata.com/2025/07/25/m... Thanks, @easystats.github.io!
imachordata.com
Modelbased for Quick and Beautiful Model Visualization · I'm a Chordata! Urochordata!
075
easystats @easystats.github.io · 22/07/2025
🎉 Great news, R users! 🎉 We're thrilled to announce that {tinyplot} support is coming to the #rstats #easystats project! Get ready for even more amazing stuff to make your data analysis a breeze! 📊✨ @gmcd.bsky.social @vincentab.bsky.social @zeileis.org
2214
easystats @easystats.github.io · 22/07/2025
Improved support for the great {tinytable}📦 from @vincentab.bsky.social coming to the easystats packages! Use the `display()` method for different output formats of your tables - HTML, markdown, or - when `format = "tt"` a `tinytable` object that renders context-dependent. #easystats #rstats
1213
Reposted by easystats
Dr Mircea Zloteanu 🌺🌞🍃 @mzloteanu.bsky.social · 14/07/2025
#statstab #386 {bayestestR} Evaluating Evidence and Making Decisions using Bayesian Statistics by @mattansb.msbstats.info Thoughts: Want to start using Bayesian stats? Here is a quick but comprehensive guide in #R #bayesian #bayes #mcmc #easystats #guide mattansb.github.io/bayesian-evi...
mattansb.github.io
164
Reposted by easystats
tj mahr 🤘 @tjmahr.com · 14/07/2025
bayestestR::describe_posterior() works on rvar columns
screenshot showing the row dataframe with a column of rvars and the markdown-formatted-table output of describe_posterior() + print_md()
242
easystats @easystats.github.io · 10/07/2025
Several easystats📦were updated the past weeks, make sure to install them to get the latest features! Here's what's new: - 📦insight, bayestestR: performance improvements for Bayesian models, better support for brms-mixture models 1/2 #easystats #rstats easystats.github.io/easystats/
easystats.github.io
Framework for Easy Statistical Modeling, Visualization, and Reporting
A meta-package that installs and loads a set of packages from easystats ecosystem in a single step. This collection of packages provide a unifying and consistent framework for statistical modeling, vi...
1205
easystats @easystats.github.io · 05/07/2025
Yay, we have reached the 30 million downloads mark (and > 10k citations of our packages)! #easystats #rstats (nice metrics, despite not 100% accurate, but still...)
0223
easystats @easystats.github.io · 25/06/2025
Since we got questions regarding if model predictors also predict class membership or only the mean outcome for each class, we added a short paragraph including a summary table and some example code at the end of the vignette, clarifying the different GMM options: easystats.github.io/modelbased/a...
easystats.github.io
An Introduction to Growth Mixture Models with brms and easystats
060
easystats @easystats.github.io · 24/06/2025
Unlock hidden patterns in longitudinal data! 🚀 Our new vignette shows how to use brms & easystats to perform Growth Mixture Models, identify unique developmental trajectories, and visualize & interpret your findings with ease. #rstats #brms #easystats easystats.github.io/modelbased/a...
easystats.github.io
An Introduction to Growth Mixture Models with brms and easystats
1224
Reposted by easystats
Mattan S. Ben-Shachar @mattansb.msbstats.info · 04/06/2025
Personally I prefer using datawizard::standardize(), and specifically using it *in the formula*. So mtcars$hp_z <- scale(mtcars$hp) mpg ~ hp_z Becomes mpg ~ standardize(hp) This solves both issues you raise in your post. #rstats @easystats.bsky.social
1102
easystats @easystats.github.io · 30/05/2025
We're happy to have an accompanying publication for another #rstats #easystats package published! Thanks to @vincentab.bsky.social and @tjmahr.com for reviewing the manuscript!
1259
easystats @easystats.github.io · 27/05/2025
🆕 Introducing check_group_variation() in the {performance} #Rstats package! 🎉 This function makes it easy to checks if variables vary within or between levels of grouping variables. Perfect for understanding and designing mixed models 🚀 easystats.github.io/performance/... #stats #easystats
mlmRev::egsingle |>
  performance::check_group_variation(
    select = c("female", "grade", "math"),
    by = c("schoolid", "childid"),
    include_by = TRUE
  )
#> Check schoolid variation
#>
#> Variable | Variation |  Design
#> ------------------------------
#> childid  |      both |  nested
#> female   |    within | crossed
#> grade    |      both |
#> math     |      both |
#>
#> Check childid variation
#>
#> Variable | Variation | Design
#> -----------------------------
#> schoolid |   between |
#> female   |   between |
#> grade    |      both |
#> math     |      both |
34413
easystats @easystats.github.io · 22/05/2025
One function per week, this time we look closer at random effects variances in mixed models: `performance_reliability()` & `performance_dvour()`. Is the variability in your data due to noise within groups, or actual differences between groups? #easystats #rstats easystats.github.io/performance/...
2100
easystats @easystats.github.io · 15/05/2025
In case you missed it, we recently updated some of our packages, including many new features (again) in the #rstats #easystats {modelbased} package: easystats.github.io/modelbased/n... The last weeks we were working a lot on improving support and performance for Bayesian models and especially
easystats.github.io
Changelog
1134
easystats @easystats.github.io · 15/05/2025
One function per week (maybe we change it to month?), this time showing how to easily create a table of a sample description using the #rstats #easystats {report} package: easystats.github.io/report/refer... Appropriate summary automatically applied based on variable types, also supports weighting.
0101
easystats @easystats.github.io · 12/05/2025
Explore the many ways to interpret statistical models in #rstats using the #easystats {modelbased} package. There is a series of five vignettes, demonstrating how to easily answer different research questions. No longer struggle with confusing coefficient tables! easystats.github.io/modelbased/a...
easystats.github.io
Contrasts and pairwise comparisons
0102
easystats @easystats.github.io · 06/05/2025
For every (possibly) complex question, there's an clear and easy to communicate solution - if you go for predictions/marginal effects/(pairwise) comparisons/contrasts instead of trying to interpret coefficients. #easystats #rstats
0130
easystats @easystats.github.io · 10/03/2025
A new version of {modelbased} just hit CRAN, including bug fixes and many new features. modelbased let's you easily compute marginal means, contrasts and pairwise comparisons, and marginal effects (slopes). Find a lot of examples and vignettes online at: easystats.github.io/modelbased/
easystats.github.io
Estimation of Model-Based Predictions, Contrasts and Means
Implements a general interface for model-based estimations for a wide variety of models, used in the computation of marginal means, contrast analysis and predictions. For a list of supported models, s...
0192
easystats @easystats.github.io · 10/03/2025
Centering is not only useful, but sometimes necessary. E.g., to avoid heterogeneity bias, commonly in longitudinal data analysis with variables that vary over time. Special centering is required then. Here's one function per week, `datawizard::demean()`! #rstats easystats.github.io/datawizard/r...
0202
easystats @easystats.github.io · 05/03/2025
One function per week, this time showing an easy way how to calculate correlations: with `correlation()` from the {correlation} package! Easily apply dozens of different methods, including multilevel and Bayesian correlations! #rstats #easystats easystats.github.io/correlation/
0174
easystats @easystats.github.io · 28/02/2025
One function per week, this time with `parameters::model_parameters()`. The function returns a comprehensive, consistent ("tidy") output for regression models and many other statistical procedures, including Bayesian and mixed models. #rstats #easystats easystats.github.io/parameters/r...
1203
easystats @easystats.github.io · 24/02/2025
New tutorial: Causal inference for observational data using propensity scores and g-computation with the {modelbased} package #rstats #easystats easystats.github.io/modelbased/a...
easystats.github.io
Case Study: Causal inference for observational data using modelbased
1172
easystats @easystats.github.io · 16/02/2025
One function per week, this time we show you `check_itemscale()`, which computes various measures of internal consistencies applied to (sub)scales from items that were extracted using `principal_components()`, or supplied as data frame. #easystats #rstats easystats.github.io/performance/...
library(performance)

# example from `?stats::prcomp`
C <- chol(S <- toeplitz(0.9^(0:15)))
set.seed(17)
X <- matrix(rnorm(1600), 100, 16)
Z <- X %*% C

# run PCA, extract three components
pca <- parameters::principal_components(
  as.data.frame(Z),
  rotation = "varimax",
  n = 3
)
# look how scales built from the three components perform
check_itemscale(pca)
0185
easystats @easystats.github.io · 13/02/2025
The #easystats team puts lots of work into writing package documentarion and tutorials, available from the GitHub websites. There's also a collection of other resources related to easystats, which we update regularly: easystats.github.io/easystats/ar... let us know if we missed something! #rstats
easystats.github.io
Learning resources
0318