Opens Science: R packages by Gjalt-Jorn
This site was originally created to link to the PkgDown websites with the documentation of a number of R packages maintained by Gjalt-Jorn. Each of the PkgDown sites is hosted at *.opens.science. The GitLab group for these packages is https://gitlab.com/r-packages. You can click a package’s hex sticker to open the page with its documentation.
Note
This site now hosts more than just R packages: for example, the sharing.opens.science, EXPLICATE, ARCHEOLOGISTS, and LIMITLESS networks, as well as the documentation for the SPARK.
Below, each of these packages is described with varying degrees of brevity 😬
- 🚧
{bedrock}
: This is a refactored implementation of the{rock}
package: “bedrock” stands for “Base R, Extendable, Downsized Reproducible Open Coding Kit” - ✅
{behaviorchange}
: Contains specialised analyses and visualisation tools for behavior change science. These facilitate conducting determinant studies (for example, using confidence interval-based estimation of relevance, CIBER, or CIBERlite plots, see Crutzen, Noijen & Peters (2017) doi:10/ghtfz9), systematically developing, reporting, and analysing interventions (for example, using Acyclic Behavior Change Diagrams), and reporting about intervention effectiveness (for example, using the Numbers Needed for Change, see Gruijters & Peters (2017) doi:10/jzkt), and computing the required sample size (using the Meaningful Change Definition, see Gruijters & Peters (2020) doi:10/ghpnx8). This package is especially useful for researchers in the field of behavior change or health psychology and to behavior change professionals such as intervention developers and prevention workers. - 🚧
{bookmark}
: This package is intended to support embedding metadata in Quarto and bookdown projects, providing functions to read those metadata and use it to add the resulting content to the Bookdown and Quarto project. - 🚧
{comma}
: To streamline and standardize the reporting of author contributions in academic publications, the Contributor Roles Taxonomy (CRediT) is a valuable tool. It is a high-level taxonomy, not specific to any academic discipline, and therefore lends itself well to widespread adoption and implementation. However, this generic nature has a flip side: how specific tasks map onto its categories isn’t always clear. This means that publications reporting on two very similar studies may nonetheless map their constituent tasks onto CRediT roles differently.{comma}
offers a solution to this by providing means to map contribution matrices onto each other. This enables specification of contribution matrix mappings for specific study types within a discipline, further CRediT’s aim of transparently communicating each contributor’s specific contribution. However, while on the one hand{comma}
can help to calibrate study contributions so they map onto CRediT consistently, on the other hand,{comma}
also helps mapping CRediT onto other taxonomies. Already, the Contribution Role Ontology has been developed that extends CRediT; in the future, alternative taxonomies will likely surface, too. - 🚧
{gpdR}
: The General Data Protection Regulation has clear guidelines on how to treat personal data. This package contains a number of functions to facilitate complying with those guidelines while simultaneously following the Open Science best practice of Open Data. - ✅
{justifier}
: The goal of{justifier}
is to provide a simple human- and machine-readable standard for documenting justifications for decisions.{justifier}
was primarily developed to enable documenting the development of behavior change interventions and the planning and execution of scientific studies, but it can also be used to document decisions in organisations, enabling deriving insights in decision processes from the accumulation of decisions and types of justifications over time. - ✅
{limonaid}
: LimeSurvey is Free/Libre Open Source Software for the development and administrations of online studies, using sophisticated tailoring capabilities to support multiple study designs. This package supports programmatic creation of surveys that can then be imported into LimeSurvey, as well as userfriendly import of responses from LimeSurvey studies.{limonaid}
also implements a number of functions to work with the LimeSurvey API from the defunct{limer}
package by Andrew Heiss. - 🚧
{md4e}
: This package will implement education-focused wrappers for{bookmark}
to enable developing courses as Quarto books and export them to BrightSpace and Ans*. - 🚧
{mdmcda}
: Complex decisions can be hard to oversee. To assist in such efforts, Multi Criteria Decision Analysis (MCDA) has been developed. This package implements functionality for Multi Decision Multi Criteria Decision Analysis (MDMCA). This is a form of MCDA to select a scenario: a specific configuration of selected alternatives within a set of decision. A common use case is comparing substance policies, where each policy (scenario) is defined as a series of selected alternatives for a set of policy instruments (decisions). - ✅
{metabefor}
: In systematic reviews, extracting data from primary sources is a crucial step with a high potential for introduction of biases. This package facilitates specification of R extraction scripts that are simultaneously human- and machine-readable. In addition, they are modular and extensible, lending themselves well to living reviews where insights as to optimal extraction evolve over time. By being R Markdown script files, they are optimally transparant, and their structure was designed to also be accessible to readers without R. Finally, each extraction script contains the original specification, enabling bootstrapping new specifications from each single extraction script. Originally, the package was intended to help with everything that needs to be done before the metafor package can be used, hence the name. Since then, the metaverse was born, with dedicated packages for specific stages, such as developing search strategies, working with bibliographic data, and visualisation. Presently, therefore, metabefor mostly covers extraction. - ✅
{preregr}
: Preregistrations, or more generally, registrations, enable explicit timestamped and (often but not necessarily publicly) frozen documentation of plans and expectations as well as decisions and justifications. In research, preregistrations are commonly used to clearly document plans and facilitate justifications of deviations from those plans, as well as decreasing the effects of publication bias by enabling identification of research that was conducted but not published. Like reporting guidelines, (pre)registration forms often have specific structures that facilitate systematic reporting of important items. The preregr package facilitates specifying (pre)registrations in R and exporting them to a human-readable format (using R Markdown partials or exporting to an HTML file) as well as human-readable embedded data (using JSON), as well as importing such exported (pre)registration specifications from such embedded JSON. {psyverse}
: The constructs used to study the human psychology have many definitions and corresponding instructions for eliciting and coding qualitative data pertaining to constructs’ content and for measuring the constructs. This plethora of definitions and instructions necessitates unequivocal reference to specific definitions and instructions in empirical and secondary research. This package implements a human- and machine-readable standard for specifying construct definitions and instructions for measurement and qualitative research based on ‘YAML’. This standard facilitates systematic unequivocal reference to specific construct definitions and corresponding instructions in a decentralized manner (i.e. without requiring central curation; https://doi.org/jnjp).- 🚧
{qualchemy}
: This package will implement import and export functions for qualitative projects. - 🚧
{quartodon}
: To compose ‘Mastodon’ posts, a plain text file can be used. Given the functionality offered by packages such as ‘quarto’, ‘blogdown’, and ‘distill’, it makes sense to compose toot threads as blog posts. The ‘quartodon’ package allows you to extract the toots from such blog posts and then post them to Mastodon as a thread. - 🚧
{raven}
: This package will help to conduct DAG-based simulations. - ✅
{rock}
: The Reproducible Open Coding Kit (‘ROCK’, and this package, ‘rock’) was developed to facilitate reproducible and open coding, specifically geared towards qualitative research methods. Although it is a general-purpose toolkit, three specific applications have been implemented, specifically an interface to the ‘rENA’ package that implements Epistemic Network Analysis (‘ENA’), means to process notes from Cognitive Interviews (‘CIs’), and means to work with decentralized construct taxonomies (‘DCTs’). The ‘ROCK’ and this ‘rock’ package are described in the ROCK book https://rockbook.org. - ✅
{rosetta}
: When teaching statistics, it can often be desirable to uncouple the content from specific software packages. To ease such efforts, the Rosetta Stats website (https://rosettastats.com) allows comparing analyses in different packages. This package is the companion to the Rosetta Stats website, aiming to provide functions that produce output that is similar to output from other statistical packages, thereby facilitating ‘software-agnostic’ teaching of statistics. - ✅
{ufs}
: This is a new version of the ‘userfriendlyscience’ package, which has grown a bit unwieldy. Therefore, distinct functionalities are being ‘consciously uncoupled’ into different packages. This package contains the general-purpose tools and utilities (see the ‘behaviorchange’ package, the ‘rosetta’ package, and the soon-to-be-released ‘scd’ package for other functionality), and is the most direct ‘successor’ of the original ‘userfriendlyscience’ package. For example, this package contains a number of basic functions to create higher level plots, such as diamond plots, to easily plot sampling distributions, to generate confidence intervals, to plan study sample sizes for confidence intervals, and to do some basic operations such as (dis)attenuate effect size estimates. - 💀
{userfriendlyscience}
: Contains a number of functions that serve two goals. First, to make R more accessible to people migrating from SPSS by adding a number of functions that behave roughly like their SPSS equivalents (also see https://rosettastats.com). Second, to make a number of slightly more advanced functions more user friendly to relatively novice users. The package also conveniently houses a number of additional functions that are intended to increase the quality of methodology and statistics in psychology, not by offering technical solutions, but by shifting perspectives, for example towards reasoning based on sampling distributions as opposed to on point estimates. - ✅
{yum}
: Provides a number of functions to facilitate extracting information in ‘YAML’ fragments from one or multiple files, optionally structuring the information in a ‘data.tree’. ‘YAML’ (recursive acronym for “YAML ain’t Markup Language”) is a convention for specifying structured data in a format that is both machine- and human-readable. ‘YAML’ therefore lends itself well for embedding (meta)data in plain text files, such as Markdown files. This principle is implemented in ‘yum’ with minimal dependencies (i.e. only the ‘yaml’ packages, and the ‘data.tree’ package can be used to enable additional functionality).