Free recall analysis

Managing data

merge_free_recall(data, **kwargs)

Merge standard free recall events.

merge_lists(study, recall[, merge_keys, …])

Merge study and recall events together for each list.

filter_data(data[, subjects, lists, …])

Filter data to get a subset of trials.


Reset list index in a DataFrame.

split_lists(frame, phase, keys[, names, …])

Convert free recall data from one phase to split format.

Recall probability


Serial position curve.

pnr(df[, item_query, test_key, test])

Probability of recall by serial position and output position.

Transition probability

lag_crp(df[, item_query, test_key, test])

Lag-CRP for multiple subjects.

category_crp(df, category_key[, item_query, …])

Conditional response probability of within-category transitions.

distance_crp(df, index_key, distances, edges)

Conditional response probability by distance bin.

Transition rank

lag_rank(df[, item_query, test_key, test])

Calculate rank of the absolute lags in free recall lists.

distance_rank(df, index_key, distances[, …])

Calculate rank of transition distances in free recall lists.


plot_raster(df[, hue, palette, marker, …])

Plot recalls in a raster plot.

plot_spc(recall, **facet_kws)

Plot a serial position curve.

plot_lag_crp(recall[, max_lag])

Plot conditional response probability by lag.

plot_distance_crp(crp[, min_samples])

Plot response probability by distance bin.

plot_swarm_error(data[, x, y, swarm_color, …])

Plot points as a swarm plus mean with error bars.