CRAN release: [soon]
This new version introduces a completely new analytic framework which breaks with earlier versions of specr. See this vignette for a comprehensive tutorial on how to use this new framework.
A new function called setup()
is introduced and replaces the original setup_specs()
to make the specification of analytical choices more intuitive and comprehensive. Most importantly, it allows to set up all specifications (now also including subset analyses, additions to the formula, etc.) a priori, i.e., before the estimation of all models.
Data, analytic choices, and even parameter extraction functions can be specified before the fitting process (solving github issue #23 and #26).
tidyverse
functions such as e.g., filter()
. This way, one can make sure a priori that only reasonable specifications are actually included. Produces an object of class specr.setup
, which can be investigated using e.g., summary()
or plot()
.
The function run_specs()
is replaced by specr()
, which now only wraps around setup()
to estimate all models. Most changes are related to increasing speed of the computations.
Most importantly, the estimation process can now be parallelized (based on furrr
) to reduce fitting time (finally solving github issue #1).
specr.object
, which can be investigated using generic function such as summary()
and plot()
. Plotting function have been updated and e.g. also allow to group specification according to specific choices (github issue #19)
For more information about these major changes and how to use the new version of specr, see this vignette.
Please note that the functions from earlier versions are still available, but deprecated. It is hence still possible to use the older framework as implemented in version 0.2.1, but we suggest to move to the new framework of version 0.3.0 due to its increased speed and flexibility.
This version of specr
was something I wanted to tackle for a while. Although the previous versions seem to have embraced by the community and several relevant papers used them in interesting ways, certain issues kept coming up (ranging from slow fitting process to wanting to incorporate more complex analytical decisions and choices). This version is thus heavily inspired by the growing community of scholars who provide feedback and suggestions via github. Thank you to all of you! But for this version, I want to thank two people particularly:
Big thanks go to Matti Vuorre who explored ways to parallelize specification curve analysis in this blogpost, which became the basis for the implementation in specr.
Many thanks to Kasper Welbers who contributed some essential code within the core function.
Thanks also to Johannes Gruber who provided support in the final stages of building this package.
Development version released: 2020-12-04
Some minor updates (related to gituhub issues) and bug fixes:
all.comb = TRUE
; solved github issue #21)run_specs()
now allows to add sets of control variabels (github issue #11)broom::tidy()
and broom::glance()
The package further now allows to integrate:
random effects (see this vignette)
CRAN release: 2020-03-26
First stable version
Tested in several environments.
Primary function is run_specs()
, which allows to specify analytic choices and estimate all models across specifications.
No parallelization of the fitting process (can take very long if model fitting process is complex).
Implementation of random effect modelling and structural equation modeling potentially possible, but still unclear.
Does not allow to specify all possible combinations of control variables (github issue #21).
Does not allow to specify sets of control variables (github issue #11)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.