.
easystats is a collection of R packages, which aims to provide a unifying and consistent framework to tame, discipline and harness the scary R statistics and their pesky models.
However, there is not (yet) an unique “easystats” way of doing data analysis. Instead, start with one package and, when you’ll face a new challenge, do check if there is an easystats answer for it in other packages. You will slowly uncover how using them together facilitates your life. And who knows, you might even end up using them all. Gotta catch ’em all!
Each easystats package has a different scope and purpose. This means you the best way to start is to explore and pick the one(s) that you feel might be useful to you. However, as they are built with a “bigger picture” in mind, you will realize that using more of them creates a smooth workflow, as these packages are meant to work together.
- report: 📜 🎉 Automated statistical reporting of objects in R
- correlation: 🔗 Your all-in-one package to run correlations
- modelbased: 📈 Estimate effects, group averages and contrasts between groups based on statistical models
- bayestestR: 👻 Great for beginners or experts of Bayesian statistics
- parameters: 📊 Obtain a table containing all information about the parameters of your models
- performance: 💪 Models’ quality and performance metrics (R2, ICC, LOO, AIC, BF, …)
- effectsize: 🐉 Compute, convert, interpret and work with indices of effect size and standardized parameters
- insight: 🔮 For developers, a package to help you work with different models and packages
- see: 🎨 The plotting companion to create beautiful results visualizations
- How is easystats different from the tidyverse?
You’ve probably already heard about the tidyverse, another very popular collection of packages (ggplot, dplyr, tidyr, …) that also makes using R easier. So, should you pick the tidyverse or easystats? Pick both! Indeed, they do not serve the same purpose. The tidyverse packages are primarily made to create a new R experience, where data manipulation and exploration is natural and consistent. On the other hand, easystats is more focused on helping you making this last mile from the analysis to your manuscript or stats report. It helps you understand and interpret your results and report them following best practices. You can definitely use the easystats functions in a tidyverse workflow! easystats + tidyverse = ❤️
- Can easystats be useful to advanced users and/or developers?
Yes, definitely! easystats is built in terms of modules that are general enough so that they can be used inside of other packages. For instance, the insight package is made to easily implement support for post-processing of all the models / packages under the sun. We use it in all the easystats packages, but it also used for instance in ggstatsplot, ggeffects, and more. So why not in yours? Moreover, the easystats packages are very lightweight, with a minimal set of dependencies, which again makes it great if you want to rely on them.
The whole easystats
suite can be installed at once with the
following:
install.packages("devtools")
devtools::install_github("easystats/easystats")
library("easystats")
- Comparison of indices of significance in the Bayesian framework
- News from easystats: updated parameters and see packages
- parameters: a powerful and lightweight alternative to broom to describe your models’ coefficients
- Check your (Mixed) Model for Multicollinearity with ‘performance’
- Testing Contrasts from Bayesian Models with ‘emmeans’ and ‘bayestestR’
- Become a Bayesian master with bayestestR (0.2)
- The ‘see’ package: beautiful figures for easystats
- Compute R2s and other performance indices for all your models!
- Describe and understand Bayesian models and posteriors using bayestestR
- A unified syntax for accessing models’ information
- The end of errors in ANOVA reporting
Find an overview of all postings here.
Most of easystats packages are very lightweight, i.e., they don’t rely nor import any other packages! This means that you can safely use them as dependencies in your own packages, without the risk of butterfly effects (a small change in a distant downstream dependency with unexpected upstream consequences).
There is one exception. The see package is one of our high-level packages that is responsible for plotting and creating figures, relying thus on other packages such as ggplot2, which itself is plugged in the tidyverse, increasing package dependencies by a substantial amount. On the bright side of things, it gives a good overview of the place of easystats in the R ecosystem.
How to reference easystats?
- Cite specific packages
The most parsimonious approach is to cite only the particular package that helped you, e.g., “using bayestestR (Makowski, Ben-Shachar, & Lüdecke, 2019)”. However, as easystats is meant to be an ecosystem, with different people working on its different aspects (some being more “citeable” than others), please consider including also the “main” publication: not available yet.
- Cite the whole ecosystem ❤️
Want to credit the whole network of interconnected aspects of easystats? This can be done with a sentence like the following:
Data processing was carried out with R (R Core Team, 2019) and the easystats ecosystem (Lüdecke, Waggoner, & Makowski, 2019; Makowski, Ben-Shachar, & Lüdecke, 2019; Makowski, Ben-Shachar, Patil, & Lüdecke, 2020)
Click here to see the corresponding APA and bibtex entries
- Lüdecke D, Waggoner P, Makowski D. insight: A Unified Interface to Access Information from Model Objects in R. Journal of Open Source Software 2019;4:1412. doi: 10.21105/joss.01412
- Makowski, D., Ben-Shachar, M. S., & Lüdecke, D. (2019). bayestestR: Describing Effects and their Uncertainty, Existence and Significance within the Bayesian Framework. Journal of Open Source Software, 4(40), 1541. 10.21105/joss.01541
- Makowski, D., Ben-Shachar, M. S., Patil, I., & Lüdecke, D. (2019). Methods and Algorithms for Correlation Analysis in R. Journal of Open Source Software, 5(51), 2306. 10.21105/joss.02306
@article{ludecke2019insight,
journal = {Journal of Open Source Software},
doi = {10.21105/joss.01412},
issn = {2475-9066},
number = {38},
publisher = {The Open Journal},
title = {insight: A Unified Interface to Access Information from Model Objects in R},
url = {http://dx.doi.org/10.21105/joss.01412},
volume = {4},
author = {Lüdecke, Daniel and Waggoner, Philip and Makowski, Dominique},
pages = {1412},
date = {2019-06-25},
year = {2019},
month = {6},
day = {25}
}
@article{makowski2019bayestestr,
title = {{bayestestR}: {Describing} {Effects} and their {Uncertainty}, {Existence} and {Significance} within the {Bayesian} {Framework}},
volume = {4},
issn = {2475-9066},
shorttitle = {{bayestestR}},
url = {https://joss.theoj.org/papers/10.21105/joss.01541},
doi = {10.21105/joss.01541},
number = {40},
urldate = {2019-08-13},
journal = {Journal of Open Source Software},
author = {Makowski, Dominique and Ben-Shachar, Mattan and Lüdecke, Daniel},
month = aug,
year = {2019},
pages = {1541}
}
@article{makowski2020correlation,
doi={10.21105/joss.02306},
title={Methods and Algorithms for Correlation Analysis in R},
author={Makowski, Dominique and Ben-Shachar, Mattan and Patil, Indrajeet and L{\"u}decke, Daniel},
journal={Journal of Open Source Software},
volume={5},
number={51},
pages={2306},
year={2020}
}
Package version numbers indicate following:
MAJOR.MINOR.PATCH.DEVELOPMENT
. As long as packages are in a more or
less rapidly developing and changing state, the major version number
is typically 0
. Once we think we will have a stable base that will
likely not change dramatically or soon, the major version number will be
set to 1
, and increased for following major changes that probably
break the current API. When new features are added or (re)moved, we
typically increase the minor version number. Minimal changes or bug
fixes only are indicated by increasing the patch version number.
Current development versions of our packages (i.e. master branch from
GitHub) additionally have a development version number. You
typically won’t find packages on CRAN with a development version number.
modelbased | correlation | see | effectsize | parameters | performance | bayestestR | insight | Total |
---|---|---|---|---|---|---|---|---|
8147 | 24423 | 38245 | 194487 | 267377 | 307703 | 337305 | 568722 | 1746409 |
Following conventions apply to the easystats-ecosystem, to ensure that function and argument names as well as element names for return-values follow a consistent pattern across all packages.
Importing other packages
- No full import, only selective import of functions
- Use base-R wherever possible (reduce dependencies)
- Make sure R-version requirements are not too strict
Helper-functions
- Own re-implementation of helper-functions, if it’s not too much
effort (e.g. I typically use own functions to check if a string
starts / ends with a pattern, or if an object (list, data frame)
contains an element with a given name (like
tibble::has_name()
), to reduce dependencies.
print
functions
print
methods should invisibly return the original (unchanged) input (#65).
Function names
- Lower case, underscore separated if more than one verb
- Common prefix for functions that focus on specific “tasks” or
workflows (e.g. insight,
get_*()
to get data,find_*()
to find information, or performance,performance_*()
to compute measures of model quality,check_*()
to check model assumptions…) - Internal functions (that are not exported, like the previously
mentined helper-functions) should always start with a
.
(e.g.,.do_some_internal_stuff()
).
Argument names
- lower case, underscore separated if more than one verb
Element / Column names (for returned data frames)
- First letter of the column name is capital, unless (6) applies
(example:
Parameter
) - First letter of nouns is capital, unless (6) applies (example:
ROPE_Percentage
,Prior_Scale
) - Using underscore rather than camelCase to separate words (example:
CI_high
) - Multiple words: common/main part first and
adjective/specifier/variational part after (example:
Median_standardized
,ROPE_percentage
) - Abbreviations: all uppercase (example:
ESS
,MCSE
,ROPE
) - Keep conventions for reserved words (example:
p
,pd
,Rhat
) - Adjectives / verbs: all lower case, unless (1) applies (example:
high
orlow
inCI_high
orCI_low
)
add_plot_attributes
(see)adjust
(effectsize)all_models_equal
(insight)all_models_same_class
(insight)area_under_curve
(bayestestR)as.numeric_ifnumeric
(modelbased)auc
(bayestestR)bayesfactor_inclusion
(bayestestR)bayesfactor_models
(bayestestR)bayesfactor_parameters
(bayestestR)bayesfactor_pointull
(bayestestR)bayesfactor_restricted
(bayestestR)bayesfactor_rope
(bayestestR)bayesfactor
(bayestestR)bayesian_as_frequentist
(bayestestR)bf_inclusion
(bayestestR)bf_models
(bayestestR)bf_parameters
(bayestestR)bf_pointull
(bayestestR)bf_restricted
(bayestestR)bf_rope
(bayestestR)binned_residuals
(performance)bluebrown_colors
(see)bootstrap_model
(parameters)bootstrap_parameters
(parameters)change_scale
(effectsize)check_autocorrelation
(performance)check_clusterstructure
(parameters)check_collinearity
(performance)check_convergence
(performance)check_distribution
(performance)check_factorstructure
(parameters)check_heterogeneity
(parameters)check_heteroscedasticity
(performance)check_homogeneity
(performance)check_itemscale
(performance)check_kmo
(parameters)check_model
(performance)check_multimodal
(parameters)check_normality
(performance)check_outliers
(performance)check_overdispersion
(performance)check_prior
(bayestestR)check_singularity
(performance)check_sphericity
(parameters)check_zeroinflation
(performance)chisq_to_cramers_v
(effectsize)chisq_to_phi
(effectsize)ci_betwithin
(parameters)ci_kenward
(parameters)ci_ml1
(parameters)ci_robust
(parameters)ci_satterthwaite
(parameters)ci_wald
(parameters)ci
(bayestestR)clean_names
(insight)clean_parameters
(insight)closest_component
(parameters)cluster_analysis
(parameters)cluster_discrimination
(parameters)cohens_d
(effectsize)cohens_f
(effectsize)color_if
(insight)colour_if
(insight)compare_performance
(performance)contr.bayes
(bayestestR)convert_bayesian_as_frequentist
(bayestestR)convert_d_to_odds
(effectsize)convert_d_to_percentage
(effectsize)convert_d_to_r
(effectsize)convert_data_to_numeric
(parameters)convert_efa_to_cfa
(parameters)convert_odds_to_d
(effectsize)convert_odds_to_probs
(effectsize)convert_odds_to_r
(effectsize)convert_p_to_pd
(bayestestR)convert_pd_to_p
(bayestestR)convert_percentage_to_d
(effectsize)convert_percentile_to_z
(effectsize)convert_probs_to_odds
(effectsize)convert_r_to_d
(effectsize)convert_r_to_odds
(effectsize)convert_z_to_percentile
(effectsize)coord_radar
(see)cor_test
(correlation)cor_to_ci
(correlation)cor_to_cov
(correlation)cor_to_p
(correlation)cor_to_pcor
(correlation)cor_to_spcor
(correlation)correlation
(correlation)cramers_v
(effectsize)cronbachs_alpha
(performance)d_to_odds
(effectsize)d_to_percentage
(effectsize)d_to_r
(effectsize)data_partition
(parameters)data_plot
(see)data_to_numeric
(parameters)degrees_of_freedom
(parameters)demean
(parameters)density_at
(bayestestR)describe_distribution
(parameters)describe_posterior
(bayestestR)describe_prior
(bayestestR)diagnostic_posterior
(bayestestR)distance_mahalanobis
(correlation)distribution_beta
(bayestestR)distribution_binomial
(bayestestR)distribution_cauchy
(bayestestR)distribution_chisquared
(bayestestR)distribution_custom
(bayestestR)distribution_gamma
(bayestestR)distribution_mixture_normal
(bayestestR)distribution_normal
(bayestestR)distribution_poisson
(bayestestR)distribution_student
(bayestestR)distribution_tweedie
(bayestestR)distribution_uniform
(bayestestR)distribution
(bayestestR)dof_betwithin
(parameters)dof_kenward
(parameters)dof_ml1
(parameters)dof_satterthwaite
(parameters)dof
(parameters)download_model
(insight)efa_to_cfa
(parameters)effective_sample
(bayestestR)effectsize
(effectsize)epsilon_squared
(effectsize)equivalence_test
(bayestestR)estimate_contrasts
(modelbased)estimate_density
(bayestestR)estimate_link
(modelbased)estimate_means
(modelbased)estimate_response
(modelbased)estimate_slopes
(modelbased)estimate_smooth
(modelbased)eta_squared_posterior
(effectsize)eta_squared
(effectsize)eti
(bayestestR)F_to_d
(effectsize)F_to_epsilon2
(effectsize)F_to_eta2_adj
(effectsize)F_to_eta2
(effectsize)F_to_f
(effectsize)F_to_omega2
(effectsize)F_to_r
(effectsize)factor_analysis
(parameters)find_algorithm
(insight)find_formula
(insight)find_interactions
(insight)find_inversions
(modelbased)find_parameters
(insight)find_predictors
(insight)find_random_slopes
(insight)find_random
(insight)find_response
(insight)find_statistic
(insight)find_terms
(insight)find_variables
(insight)find_weights
(insight)flat_colors
(see)format_algorithm
(parameters)format_bf
(insight)format_ci
(insight)format_model
(parameters)format_number
(insight)format_order
(parameters)format_p
(insight)format_parameters
(parameters)format_pd
(insight)format_rope
(insight)format_standardize
(effectsize)format_table
(insight)format_value
(insight)geom_jitter2
(see)geom_point2
(see)geom_pooljitter
(see)geom_poolpoint
(see)geom_violindot
(see)geom_violinhalf
(see)get_correlation_slope_intercept
(insight)get_data
(insight)get_parameters
(insight)get_predictors
(insight)get_priors
(insight)get_random
(insight)get_response
(insight)get_scores
(parameters)get_statistic
(insight)get_varcov
(insight)get_variance_dispersion
(insight)get_variance_distribution
(insight)get_variance_fixed
(insight)get_variance_intercept
(insight)get_variance_random
(insight)get_variance_residual
(insight)get_variance_slope
(insight)get_variance
(insight)get_weights
(insight)glass_delta
(effectsize)golden_ratio
(see)has_intercept
(insight)hdi
(bayestestR)hedges_g
(effectsize)icc
(performance)interpret_agfi
(effectsize)interpret_bf
(effectsize)interpret_cfi
(effectsize)interpret_d
(effectsize)interpret_delta
(effectsize)interpret_direction
(effectsize)interpret_ess
(effectsize)interpret_g
(effectsize)interpret_gfi
(effectsize)interpret_ifi
(effectsize)interpret_nfi
(effectsize)interpret_nnfi
(effectsize)interpret_odds
(effectsize)interpret_omega_squared
(effectsize)interpret_p
(effectsize)interpret_parameters
(effectsize)interpret_pnfi
(effectsize)interpret_r
(effectsize)interpret_r2
(effectsize)interpret_rfi
(effectsize)interpret_rhat
(effectsize)interpret_rmsea
(effectsize)interpret_rope
(effectsize)interpret_srmr
(effectsize)interpret
(effectsize)is_effectsize_name
(effectsize)is_model_supported
(insight)is_model
(insight)is_multivariate
(insight)is_nullmodel
(insight)is.cor
(correlation)is.rules
(effectsize)isSquare
(correlation)item_difficulty
(performance)item_intercor
(performance)item_reliability
(performance)item_split_half
(performance)kurtosis
(parameters)link_function
(insight)link_inverse
(insight)logodds_to_d
(effectsize)logodds_to_r
(effectsize)looic
(performance)mad_pooled
(effectsize)map_estimate
(bayestestR)material_colors
(see)matrix_inverse
(correlation)mcse
(bayestestR)mediation
(bayestestR)metro_colors
(see)mhdior
(bayestestR)model_info
(insight)model_parameters
(parameters)model_performance
(performance)mse
(performance)multicollinearity
(performance)n_clusters
(parameters)n_components
(parameters)n_factors
(parameters)n_obs
(insight)n_parameters
(parameters)normalize
(effectsize)null_model
(insight)odds_to_d
(effectsize)odds_to_probs
(effectsize)odds_to_r
(effectsize)omega_squared
(effectsize)overlap
(bayestestR)p_direction
(bayestestR)p_map
(bayestestR)p_pointnull
(bayestestR)p_rope
(bayestestR)p_significance
(bayestestR)p_to_pd
(bayestestR)p_value_betwithin
(parameters)p_value_kenward
(parameters)p_value_ml1
(parameters)p_value_robust
(parameters)p_value_satterthwaite
(parameters)p_value_wald
(parameters)p_value
(parameters)palette_bluebrown
(see)palette_flat
(see)palette_material
(see)palette_metro
(see)palette_pizza
(see)palette_see
(see)palette_social
(see)parameters_table
(parameters)parameters_type
(parameters)parameters
(parameters)pcor_to_cor
(correlation)pd_to_p
(bayestestR)pd
(bayestestR)percentage_to_d
(effectsize)percentile_to_z
(effectsize)performance_accuracy
(performance)performance_aic
(performance)performance_aicc
(performance)performance_hosmer
(performance)performance_logloss
(performance)performance_lrt
(performance)performance_mse
(performance)performance_pcp
(performance)performance_rmse
(performance)performance_roc
(performance)performance_rse
(performance)performance_score
(performance)performance
(performance)phi_to_chisq
(effectsize)phi
(effectsize)pizza_colors
(see)plots
(see)point_estimate
(bayestestR)principal_components
(parameters)print_color
(insight)print_colour
(insight)print_parameters
(insight)probs_to_odds
(effectsize)r_to_d
(effectsize)r_to_odds
(effectsize)r2_bayes
(performance)r2_coxsnell
(performance)r2_efron
(performance)r2_kullback
(performance)r2_loo
(performance)r2_mcfadden
(performance)r2_mckelvey
(performance)r2_nagelkerke
(performance)r2_nakagawa
(performance)r2_tjur
(performance)r2_xu
(performance)r2_zeroinflated
(performance)r2
(performance)random_parameters
(parameters)ranktransform
(effectsize)reduce_data
(parameters)reduce_parameters
(parameters)rescale_weights
(parameters)reshape_ci
(bayestestR)reshape_draws
(modelbased)reshape_loadings
(parameters)rmse
(performance)rnorm_perfect
(bayestestR)rope_range
(bayestestR)rope
(bayestestR)rules
(effectsize)scale_color_bluebrown_c
(see)scale_color_bluebrown_d
(see)scale_color_bluebrown
(see)scale_color_flat_c
(see)scale_color_flat_d
(see)scale_color_flat
(see)scale_color_material_c
(see)scale_color_material_d
(see)scale_color_material
(see)scale_color_metro_c
(see)scale_color_metro_d
(see)scale_color_metro
(see)scale_color_pizza_c
(see)scale_color_pizza_d
(see)scale_color_pizza
(see)scale_color_see_c
(see)scale_color_see_d
(see)scale_color_see
(see)scale_color_social_c
(see)scale_color_social_d
(see)scale_color_social
(see)scale_colour_bluebrown_c
(see)scale_colour_bluebrown_d
(see)scale_colour_bluebrown
(see)scale_colour_flat_c
(see)scale_colour_flat_d
(see)scale_colour_flat
(see)scale_colour_material_c
(see)scale_colour_material_d
(see)scale_colour_material
(see)scale_colour_metro_c
(see)scale_colour_metro_d
(see)scale_colour_metro
(see)scale_colour_pizza_c
(see)scale_colour_pizza_d
(see)scale_colour_pizza
(see)scale_colour_see_c
(see)scale_colour_see_d
(see)scale_colour_see
(see)scale_colour_social_c
(see)scale_colour_social_d
(see)scale_colour_social
(see)scale_fill_bluebrown_c
(see)scale_fill_bluebrown_d
(see)scale_fill_bluebrown
(see)scale_fill_flat_c
(see)scale_fill_flat_d
(see)scale_fill_flat
(see)scale_fill_material_c
(see)scale_fill_material_d
(see)scale_fill_material
(see)scale_fill_metro_c
(see)scale_fill_metro_d
(see)scale_fill_metro
(see)scale_fill_pizza_c
(see)scale_fill_pizza_d
(see)scale_fill_pizza
(see)scale_fill_see_c
(see)scale_fill_see_d
(see)scale_fill_see
(see)scale_fill_social_c
(see)scale_fill_social_d
(see)scale_fill_social
(see)sd_pooled
(effectsize)se_betwithin
(parameters)se_kenward
(parameters)se_ml1
(parameters)se_satterthwaite
(parameters)see_colors
(see)select_parameters
(parameters)sensitivity_to_prior
(bayestestR)si
(bayestestR)simulate_correlation
(bayestestR)simulate_difference
(bayestestR)simulate_model
(parameters)simulate_parameters
(parameters)simulate_prior
(bayestestR)simulate_simpson
(correlation)simulate_ttest
(bayestestR)skewness
(parameters)smoothing
(modelbased)smoothness
(parameters)social_colors
(see)spcor_to_cor
(correlation)standard_error_robust
(parameters)standard_error
(parameters)standardize_info
(effectsize)standardize_names
(parameters)standardize_parameters
(effectsize)standardize_posteriors
(effectsize)standardize
(effectsize)supported_models
(insight)t_to_d
(effectsize)t_to_epsilon2
(effectsize)t_to_eta2_adj
(effectsize)t_to_eta2
(effectsize)t_to_f
(effectsize)t_to_omega2
(effectsize)t_to_r
(effectsize)theme_abyss
(see)theme_blackboard
(see)theme_lucid
(see)theme_modern
(see)theme_radar_dark
(see)theme_radar
(see)variance_decomposition
(performance)visualisation_matrix
(modelbased)weighted_posteriors
(bayestestR)z_fisher
(correlation)z_to_d
(effectsize)z_to_percentile
(effectsize)z_to_r
(effectsize)zero_crossings
(modelbased)