eelbrain.table.difference
- eelbrain.table.difference(y, x, c1, c0, match, sub=None, data=None)
Subtract data in one cell from another
- Parameters
y (Union[NDVar, Var, str, Sequence[Union[str, Var, NDVar]]]) – One or several variables for which to calculate the difference.
x (Union[Factor, Interaction, NestedEffect, str]) – Model for subtraction, providing categories to compute
c1 - c0
.c1 (Union[str, Tuple[str, ...]]) – Name of the cell in
x
that forms the minuend.c0 (Union[str, Tuple[str, ...]]) – Name of the cell in
x
that is to be subtracted fromc1
.match (Union[Factor, Interaction, NestedEffect, str]) – Units over which measurements were repeated.
c1 - c0
will be calculated separately for each level ofmatch
(e.g."subject"
, or"subject % condition"
).sub (Union[Var, ndarray, str]) – Only include a subset of the data.
data (Dataset) – If a Dataset is specified other arguments can be str instead of data-objects and will be retrieved from
data
.
- Returns
Dataset with the difference between
c1
andc0
ony
.- Return type
diff
Examples
ERP difference wave: assuming a dataset
data
with EEG data (data['eeg']
), a variable named'condition'
with levels'expected'
and'unexpected'
, and multiple subjects, the following will generate theunexpected - expected
difference waves:>>> diff = table.difference('eeg', 'condition', 'unexpected', 'expected', ... 'subject', data=data)
If
data
also contains a different factor crossed withcondition
, called'word'
with levels'verb'
abd'adjective'
, then separate difference waves for verbs and adjectives can be computed with:>>> diff = table.difference('eeg', 'condition', 'unexpected', 'expected', ... 'subject % word', data=data)
Given the latter, the difference of the difference waves could be computed with:
>>> diffdiff = table.difference('eeg', 'word', 'verb', 'adjective', ... 'subject', data=diff)