Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/djnavarro/jaysire

Build jsPsych Experiments in R
https://github.com/djnavarro/jaysire

Last synced: 3 days ago
JSON representation

Build jsPsych Experiments in R

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```
# Behavioural experiments with jaysire

[![Travis build status](https://travis-ci.org/djnavarro/jaysire.svg?branch=master)](https://travis-ci.org/djnavarro/jaysire)
[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://www.tidyverse.org/lifecycle/#experimental)
[![Codecov test coverage](https://codecov.io/gh/djnavarro/jaysire/branch/master/graph/badge.svg)](https://codecov.io/gh/djnavarro/jaysire?branch=master)
[![CRAN status](https://www.r-pkg.org/badges/version/jaysire)](https://cran.r-project.org/package=jaysire)

The goal of jaysire is to provide a method for writing behavioural experiments in R that can be deployed through a web browser. The package relies on the [jsPsych](https://www.jspsych.org) library by Josh de Leeuw ([GitHub page](https://github.com/jspsych/jsPsych/)) to create the experiments, and is structured so that functions in jaysire use the same argument names as the corresponding jsPsych functions. For the most part, function names in jaysire are organised around families that share a common prefix. For example, the `trial_` family is used to define individual trials within an experiment, `build_` functions construct more complex entities, and so on. See the [reference page](https://djnavarro.github.io/jaysire/reference/) for the complete list of all functions.

## Installation

The jaysire package has not been released on CRAN, but you can install it directly from GitHub using the following commands:

``` r
#install.packages("remotes")
remotes::install_github("djnavarro/jaysire")
```

## Getting started

There are a series of tutorial articles:

1. [Getting started](https://djnavarro.github.io/jaysire/articles/jaysire01.html)
2. [Randomisation, repetition and variables](https://djnavarro.github.io/jaysire/articles/jaysire02.html)
3. [Using resource files](https://djnavarro.github.io/jaysire/articles/jaysire03.html)
4. [Image, video and audio files](https://djnavarro.github.io/jaysire/articles/jaysire04.html)
5. [Buttons, key presses and sliders](https://djnavarro.github.io/jaysire/articles/jaysire05.html)
6. [Survey pages](https://djnavarro.github.io/jaysire/articles/jaysire06.html)
7. [Loops and branches](https://djnavarro.github.io/jaysire/articles/jaysire07.html)
8. [A choice reaction time task](https://djnavarro.github.io/jaysire/articles/jaysire08.html)

## Related packages

- The [jsPsychR](https://github.com/CrumpLab/jspsychr) package by Matt Crump
- The [formr](https://github.com/rubenarslan/formr) package by Ruben Arslan
- The [psychTestR](https://pmcharrison.github.io/psychTestR/) package by Peter Harrison
- My [xprmtnr](https://github.com/djnavarro/xprmntr) package (in development)

## Name

The name "jaysire" is a phonetic transcription of "j-psy-R", reflecting the fact that it adheres closely to the design principles used in the jsPsych javascript library.