Online Short Spatial Ability Battery (OSSAB)

lifecycle Travis build status Coverage status

The OSSAB package contains spatial ability tests.


We also advise mentioning the software versions you used, in particular the versions of the OSSAB, psychTestR, and psychTestRCAT packages. You can find these version numbers from R by running the following commands:

if (!require(devtools)) install.packages("devtools")
x <- devtools::session_info()
x$packages[x$packages$package %in% c("OSSAB", "psychTestR", "psychTestRCAT"), ]

Installation instructions (local use)

  1. If you don't have R installed, install it from here:

  2. Open R.

  3. Install the ‘devtools’ package with the following command:


  1. Install the OSSAB package:


Testing a participant

The MRT_standalone(), PAT_standalone(), PFT_standalone() and SRT_standalone() function is designed for real data collection. In particular, the participant doesn't receive feedback during this version.

# Load the OSSAB package

# Run the tests as if for a participant, using default settings,
# saving data, and with a custom admin password, e.g.
MRT_standalone(admin_password = "put-your-password-here")

You will need to enter a participant ID for each participant. This will be stored along with their results.

Each time you test a new participant, rerun the MRT_standalone(), PAT_standalone(), PFT_standalone() or SRT_standalone() function, and a new participation session will begin.

You can retrieve your data by starting up a participation session, entering the admin panel using your admin password, and downloading your data. For more details on the psychTestR interface, see

The OSSAB currently supports Russian (ru, default) and English (en). You can select one of these languages by passing a language code as an argument to OSSAB(), e.g. OSSAB(languages = "en"), or alternatively by passing it as an URL parameter to the test browser, eg. (note that the p_id argument must be empty).

Installation instructions (Shiny Server)

  1. Complete the installation instructions described under 'Local use'.
  2. If not already installed, install Shiny Server Open Source:
  3. Navigate to the Shiny Server app directory.

cd /srv/shiny-server

  1. Make a folder to contain your new Shiny app. The name of this folder will correspond to the URL.

sudo mkdir OSSAB

  1. Make a text file in this folder called app.R specifying the R code to run the app.

  2. To open the text editor: sudo nano OSSAB/app.R

  3. Write the following in the text file:
OSSAB(admin_password = "put-your-password-here")

sudo chown -R shiny OSSAB

where shiny is the username for the Shiny process user (this is the usual default).

  1. Navigate to your new shiny app, with a URL that looks like this: `

Implementation notes

By default, the OSSAB implementation always estimates participant abilities using weighted-likelihood estimation. We adopt weighted-likelihood estimation for this release because this technique makes fewer assumptions about the participant group being tested. This makes the test better suited to testing with diverse participant groups (e.g. children, clinical populations).

Usage notes

fmhoeger/OSSAB documentation built on Oct. 22, 2020, 11:25 p.m.