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
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
easystats @easystats.github.io · 01/09/2025
That "tt" option is now fully rolled out across several #easystats packages, powered by the amazing {tinytable} package. This means you can create tables in a gazillion different output formats! How cool is that? 🤯
Example for a colored markdown table, printed to the R console.
130
easystats @easystats.github.io · 01/09/2025
And you can totally control the vibe! Use the `format` argument to get "markdown" (for a classic kable look), "html" (for a sleek gt-table), or the new kid on the block, "tt" (for a tinytable masterpiece!).
Screenshot of the gt-HTML-table-output
110
easystats @easystats.github.io · 01/09/2025
... and when they print, it's thanks to some behind-the-scenes magic with `insight::format_table()` and `insight::export_table()`! ✨ But there's more! Many #easystats functions also have a `display()` method. Think of it as your personal table stylist, making everything look super user-friendly! 💅
Screenshot of the default R console table output
110
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 · 22/07/2025
Just dodging is not yet implemented in {tinyplot}, but hopefully coming soon!
020
easystats @easystats.github.io · 22/07/2025
As you can see, many plot types already work, just some fine-tuning left to do...
140
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
Since `display(format = "tt")` returns a `tinytable` object, you can easily modify the table to meet your needs.
000
easystats @easystats.github.io · 22/07/2025
Here's the default HTML rendering.
100
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
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 · 31/05/2025
Page 3 in the paper (or the docs: easystats.github.io/modelbased/r...)
000
easystats @easystats.github.io · 27/05/2025
This function can also be used to detect any predictors that might cause heterogeneity bias - variable that vary both within and between groups, that can be treated with datawizard::demean() easystats.github.io/datawizard/r...
performance::check_group_variation(iris, select = "Sepal.Width", by = "Species")
#> Check Species variation
#> 
#> Variable    | Variation | Design
#> --------------------------------
#> Sepal.Width |      both |       

datawizard::demean(iris, select = "Sepal.Width", by = "Species") |> 
  dplyr::glimpse()
#> Rows: 150
#> Columns: 7
#> $ Sepal.Length        <dbl> 5.1, 4.9, 4.7, 4.6, 5.0, 5.4, 4.6, 5.0, 4.4, 4.9, 5.4, 4.…
#> $ Sepal.Width         <dbl> 3.5, 3.0, 3.2, 3.1, 3.6, 3.9, 3.4, 3.4, 2.9, 3.1, 3.7, 3.…
#> $ Petal.Length        <dbl> 1.4, 1.4, 1.3, 1.5, 1.4, 1.7, 1.4, 1.5, 1.4, 1.5, 1.5, 1.…
#> $ Petal.Width         <dbl> 0.2, 0.2, 0.2, 0.2, 0.2, 0.4, 0.3, 0.2, 0.2, 0.1, 0.2, 0.…
#> $ Species             <fct> setosa, setosa, setosa, setosa, setosa, setosa, setosa, s…
#> $ Sepal.Width_between <dbl> 3.428, 3.428, 3.428, 3.428, 3.428, 3.428, 3.428, 3.428, 3…
#> $ Sepal.Width_within  <dbl> 0.072, -0.428, -0.228, -0.328, 0.172, 0.472, -0.028, -0.0…
090
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
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 · 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 · 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 · 06/02/2025
The `model_dashboard()` in action... #easystats #rstats
0163
easystats @easystats.github.io · 06/02/2025
One function per week, this week we're excited to show you `model_dashboard()`, *the* one-ring-to-rule-them-all to get a quick and comprehensive overview of your regression model: easystats.github.io/easystats/re... See example code in the screenshot, and video in next post! #rstats #easystats
1266
easystats @easystats.github.io · 06/02/2025
Plotting gives you nice figures out of the box!
130
easystats @easystats.github.io · 06/02/2025
The output is clear and informative, see following examples:
140
easystats @easystats.github.io · 27/01/2025
One function per week, this week with `data_seek()` from the {datawizard} package. This function helps you finding variables by their names, variable or value labels in data sets Labelled data is also supported. #easystats #rstats easystats.github.io/datawizard/r...
062
easystats @easystats.github.io · 17/01/2025
One function per week, this week we show you `p_direction()`, the probability of direction, i.e. is a parameter strictly positive or negative? Cum grano salis, a continuous measure of evidence. easystats.github.io/bayestestR/r... #rstats #easystats
090
easystats @easystats.github.io · 10/01/2025
Another #rstats #easystats package is published as "stable" release on CRAN: {datawizard}! The one-stop-solution for so many data wrangling and preparation tasks (reshaping, selecting, filtering, variable standardization, centering, recoding, ...), super light-weight easystats.github.io/datawizard/
1216
easystats @easystats.github.io · 06/01/2025
This year we'll start and try to post one #rstats #easystats function per week, to promote the different packages from the easystats-project. We'll start with `t_to_d()` from the {effectsize} package, which is one of the many functions to convert effectsizes: easystats.github.io/effectsize/r...
1243
easystats @easystats.github.io · 26/11/2024
One new feature is how `export_table()` can deal with very wide tables. `export_table()` is used by almost every `print()` method throughout easystats packages. Whenever you have text-output in the console or markdown documents, you can be (almost) sure you won't see messy tables anymore...
0154
easystats @easystats.github.io · 26/11/2024
The first stable #easystats release is there! Our "workhorse" package, which builds the foundation of the easystats-ecosystem, has been released in version 1.0.0 on CRAN. Probably not the package users use most, it's rather doing its work silently in the background... easystats.github.io/insight/
1167
easystats @easystats.github.io · 20/11/2024
We're thrilled to announce that we’ve begun preparing for the stable (1.0) releases of all packages in our ecosystem. Releases are expected early next year. If you’ve been using any of these packages, we would greatly value your feedback on the API: easystats.github.io/easystats/ #rstats #easystats
1217
easystats @easystats.github.io · 20/11/2024
010
easystats @easystats.github.io · 16/11/2024
And this is how we put it into action! Here you can see the switch from RStudio to Positron by @remi-theriault.com (while @strengejacke.bsky.social is recovering from the evening before...) #rstats #easystats
051
easystats @easystats.github.io · 16/11/2024
This is how the #easystats team generates new ideas for their #rstats packages! Hard(ly) working @remi-theriault.com and @strengejacke.bsky.social!
192
easystats @easystats.github.io · 27/10/2024
Which of the following information below model output (last paragraph, not that one about uncertainty intervals) do you find useful/helpful and think it's worth printing? It's printed once per session. Should some/all information moved into the docs, or kept in output? #easystats
210