eelbrain.table.difference
- eelbrain.table.difference(y, x, c1, c0, match, sub=None, ds=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 computec1 - c0
.c1 (
Union
[str
,Tuple
[str
,...
]]) – Name of the cell inx
that forms the minuend.c0 (
Union
[str
,Tuple
[str
,...
]]) – Name of the cell inx
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
,None
]) – Only include a subset of the data.ds (
Optional
[Dataset
]) – If a Dataset is specified other arguments can be str instead of data-objects and will be retrieved fromds
.
- Returns
Dataset with the difference between
c1
andc0
ony
.- Return type
diff
Examples
ERP difference wave: assuming a dataset
ds
with EEG data (ds['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', ds=ds)
If
ds
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', ds=ds)
Given the latter, the difference of the difference waves could be computed with:
>>> diffdiff = table.difference('eeg', 'word', 'verb', 'adjective', ... 'subject', ds=diff)