Below I provide a mockup what the UI might look like, and here's a breakdown of what I'd like (ideally).
First I want to a) create subsets (i.e. all rows having a certain value in the cells of a column) and then b) compare subsets.
I provide a CSV file to be processed by your program, which would allow me to create subsets (extracting rows based on conditions I set).
Then the program compares the subsets, matches columns of numbers (timestamps) against two other columns (also timestamps of beginning and end, indicating a range) and then compile a CSV file.
1) I have timestamps of when people are looking at each other
2) I have timestamps of when these people move
I want to see, when people were looking at one person, if that person was moving.
The data are various labels and things, but more importantly they have timestamps of beginnings and endings of things. I want to see when there are timestamps of things that are
a) contained in other timestamps,
b) overlapping, or
c) near each other (depending on my threshold).
Here is a sample of the data: https://docs.google....h3o/edit?usp=sharing
The output can be a simple CSV file.
The interface would include the options included below and could be something like this:
Create SUBSETS from CSV file, either based on an entire column or based on the contents of a cell.
1. Subset Name: _______ (*create a name for the subset)
Column: [dropdown list] (*with the column headers or number, or "ALL")
Cell: _______ (*type in text to find or leave blank)
2. Subset Name: _______
Column: [dropdown list]
3. Subset Name: _______
Column: [dropdown list]
[Export subsets] (*as CSV files)
Choose what to match.
TEMPORAL MATCHES: Only columns with numeric data can be compared.
This [SUBSET_NameX]: [COLUMN_list] (to [COLUMN_list] ) (*if you select just the first than it's a point, if you also select the second then it's understood as a time range)
within [SUBSET_NameX] from [COLUMN_list] to [COLUMN_list]
 AND  OR within [SUBSET_NameX] from [COLUMN_list] to [COLUMN_list]
[ADD ADDITIONAL CONSTRAINT]
 Containing (*both onset or offset are within the range)
 Overlapping (*either onset or offset is within the range)
 Threshold: ___ms before; ___ms after
A note on the sample data. https://docs.google....h3o/edit?usp=sharing
Note that what you have here is already a subset of the original data, which would have been made by
Subset: All gaze_to_p1
Subset: All P1
A query on this table might be to compare if the onset (just the beginning) of "gaze_to_P1" is within the range of all P1 "head_face" and all "upper_body":
Subset1: All gaze_to_P1
(NB: This could have also been Column:ALL and it would have given the same subset, but in this case maybe selecting the column would make it less processing intensive?)
Subset2: All P1
The output could be a simple CSV file with an added column providing the match (or NA). Eventually, it might be interesting for this column to have the cells giving something like "gaze_to_P1 | head_face", "gaze_to_P1 | upper_body", i.e. I get to choose how the result is shown, specifically grabbing the cell content of the first and second member of the match.