psifr.fr.filter_data#
- psifr.fr.filter_data(data, subjects=None, lists=None, trial_type=None, positions=None, inputs=None, outputs=None)#
Filter data to get a subset of trials.
- Parameters:
data (pandas.DataFrame) – Raw or merged data to filter.
subjects (hashable or list of hashable) – Subject or subjects to include.
lists (hashable or list of hashable) – List or lists to include.
trial_type ({'study', 'recall'}) – Trial type to include.
positions (int or list of int) – Position or positions to include.
inputs (int or list of int) – Input position or positions to include.
outputs (int or list of int) – Output position or positions to include.
- Returns:
filtered – The filtered subset of data.
- Return type:
Examples
>>> from psifr import fr >>> subjects_list = [1, 1, 2, 2] >>> study_lists = [['a', 'b'], ['c', 'd'], ['e', 'f'], ['g', 'h']] >>> recall_lists = [['b'], ['d', 'c'], ['f', 'e'], []] >>> raw = fr.table_from_lists(subjects_list, study_lists, recall_lists) >>> fr.filter_data(raw, subjects=1, trial_type='study') subject list trial_type position item 0 1 1 study 1 a 1 1 1 study 2 b 3 1 2 study 1 c 4 1 2 study 2 d
>>> data = fr.merge_free_recall(raw) >>> fr.filter_data(data, subjects=2) subject list item input output study recall repeat intrusion prior_list prior_input 4 2 1 e 1 2.0 True True 0 False NaN NaN 5 2 1 f 2 1.0 True True 0 False NaN NaN 6 2 2 g 1 NaN True False 0 False NaN NaN 7 2 2 h 2 NaN True False 0 False NaN NaN