Development version released: 2024-05-222
None
-
This new development version includes new functions to conduct inferences on the specification curve analysis (the third step outlined Simohnsohn et al., 2020).
- It thereby facilitates resampling under-the-null to obtain test statistics to evaluate the extremity of the specification curve analysis results.
- See this vignette for a comprehensive tutorial.
CRAN release: 2023-01-20
-
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 originalsetup_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).
- Excludes some non-meaningful specifications automatically (e.g., when control and independent or dependent variable are the same).
- Allows to specify all combinations of control variables or to "simplify" and only include none, each individually and all together (github issue #11).
- Resulting specification can be filtered using standard
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()
orplot()
.
-
The function
run_specs()
is replaced byspecr()
, which now only wraps aroundsetup()
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). - Deals better and faster with subset analyses.
- Produces an object of class
specr.object
, which can be investigated using generic function such assummary()
andplot()
. - Plotting function have been updated and e.g. also allow to group specification according to specific choices (github issue #19)
- Most importantly, the estimation process can now be parallelized (based on
-
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.
- So far none...
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
- None
-
Some minor updates (related to gituhub issues) and bug fixes:
- All combinations of control variables can be produced (by specifying
all.comb = TRUE
; solved github issue #21) run_specs()
now allows to add sets of control variabels (github issue #11)- All plotting functions allow to choose which parameter to plot
- More complete results based on
broom::tidy()
andbroom::glance()
- All combinations of control variables can be produced (by specifying
-
The package further now allows to integrate:
- Still no parallelization (github issue #1)
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)