Align datasets

Shows how to combine information from two datasets describing the same cases, but not necessarily in the same order.

# Author: Christian Brodbeck <christianbrodbeck@nyu.edu>
import random
import string

from eelbrain import *


# Generate a dataset with known sequence
ds = Dataset()
ds['ascii'] = Factor(string.ascii_lowercase)
# Add an index variable to the dataset to later identify the cases
ds.index()

# Generate two shuffled copies of the dataset (and print them to confirm that
# they are shuffled)
ds1 = ds[random.sample(range(ds.n_cases), 15)]
ds1.head()
ascii index
i 8
h 7
p 15
a 0
y 24
z 25
q 16
m 12
g 6
f 5


ascii index
t 19
z 25
a 0
s 18
b 1
r 17
j 9
q 16
x 23
l 11


Align the datasets

Use the "index" variable added above to identify cases and align the two datasets

ds1_aligned, ds2_aligned = align(ds1, ds2, 'index')

# show the ascii sequences for the two datasets next to each other to
# demonstrate that they are aligned
ds1_aligned['ascii_ds2'] = ds2_aligned['ascii']
ds1_aligned
ascii index ascii_ds2
a 0 a
z 25 z
q 16 q
m 12 m
g 6 g
f 5 f
l 11 l
r 17 r
s 18 s


Gallery generated by Sphinx-Gallery