Skip to main content

Psifr: Analysis and visualization of free recall data

Project description

Psifr

PyPI version Documentation Status Build Status codecov status DOI

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.

Installation

You can install the latest stable version of Psifr using pip:

pip install psifr

You can also install the development version directly from the code repository on GitHub:

pip install git+git://github.com/mortonne/psifr

Quickstart

To plot a serial position curve for a sample dataset:

from psifr import fr
df = fr.sample_data('Morton2013')
data = fr.merge_free_recall(df)
recall = fr.spc(data)
g = fr.plot_spc(recall)

See the user guide for detailed documentation on importing and analyzing free recall datasets.

Also see the Jupyter notebooks for more analysis examples:

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). See importing data for details.

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.

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.

Contributing to Psifr

Contributions are welcome to suggest new features, add documentation, and identify bugs. See the contributing guidelines for an overview.

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.5.2.tar.gz (847.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

psifr-0.5.2-py3-none-any.whl (872.7 kB view details)

Uploaded Python 3

File details

Details for the file psifr-0.5.2.tar.gz.

File metadata

  • Download URL: psifr-0.5.2.tar.gz
  • Upload date:
  • Size: 847.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for psifr-0.5.2.tar.gz
Algorithm Hash digest
SHA256 dfcebe572aef494211f2d09796f06facf2076b501001d26f754229473b2f74b2
MD5 c4a14b8c04c4bd0c32cd03037d9c6787
BLAKE2b-256 32dd37f935bb9497f22c18d61e0a9fd24a7727330e5a65cc8bde8da288ea66ef

See more details on using hashes here.

File details

Details for the file psifr-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: psifr-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 872.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.4

File hashes

Hashes for psifr-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ccedd2ac2e3575905246b9ba76fe9b99e1ea7be8b9a17e32f81c30629d666fdd
MD5 33f39ba249aa5924a63b59d361147e5a
BLAKE2b-256 aa3867bd37a6bc9d16187983e80060abcf61fa3a13e764346cc381dd68577a6e

See more details on using hashes here.

Supported by

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