Skip to main content

Package for analysis of free recall data.

Project description

Psifr

Documentation Status

Advanced analysis and visualization of free recall data in Python.

In free recall, participants study a list of items and then name all of the items they can remember in any order they choose. Many sophisticated analyses have been developed to analyze data from free recall experiments, but these analyses are often complicated and difficult to implement.

Psifr leverages the Pandas data analysis package to make precise and flexible analysis of free recall data faster and easier. The name Psifr is pronounced "cipher". It's taken from Psi, in reference to the field of psychology, and FR for free recall.

free recall visualization
Raster plot showing each recall in a free recall experiment. Color indicates serial position; yellow items were presented late in the list, while purple items were presented at the beginning. Magenta squares indicate intrusions of items that were not presented during the study list.

Quickstart

See the Jupyter notebooks for demonstrations of reading and analyzing a sample free recall dataset:

Installation

First get a copy of the code from GitHub:

git clone git@github.com:mortonne/psifr.git

Then install:

cd psifr
python setup.py install

Importing data

Generally the best way to get your data into shape for analysis in Psifr is to create a CSV file with one row for each event in the experiment, including study events (i.e., item presentations) and all recall attempts (including repeats and intrusions). Your spreadsheet should have the following columns:

  • subject - some code that is unique for each subject. May be text or a number.
  • list - list number.
  • item - item identifier (text or numeric code). Must be unique to a specific item.
  • position - for study events, codes position within the list (i.e., serial position), starting from 1 for the first item in the list; for recall events, codes output position (i.e., recall attempt number), starting from 1 for the first recall attempt.
  • trial_type - indicates whether each row corresponds to 'study' or 'recall'.

These are just the basic necessary fields. You can also include columns for any other information you need to know about each trial. See data/cfr_raw_data.csv for an example.

If you have data in the standard EMBAM format, use scripts/frdata2table.m to convert your data struct to a table with standard format. Then use the Matlab function writetable to write a CSV file which can then be read into Python for analysis.

See the recall performance for an example of reading in data from a CSV file for analysis.

Related projects

EMBAM

Analyses supported by Psifr are based on analyses implemented in the Matlab toolbox EMBAM.

pybeh

pybeh is a direct Python port of EMBAM that supports a wide range of analyses.

Quail

Quail runs automatic scoring of free recall data, supports calculation and plotting of some common free recall measures, and has tools for measuring the "memory fingerprint" of individuals.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

psifr-0.1.0.tar.gz (842.2 kB view hashes)

Uploaded Source

Built Distributions

psifr-0.1.0-py3.8.egg (13.1 kB view hashes)

Uploaded Source

psifr-0.1.0-py3-none-any.whl (867.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page