Data Output DP: Each trial results in one row of the dataset (instead of all the data of one participant being in one row)

Hello everyone! :grinning:

I have a question concerning my dot probe experiment.
In my experiment I have a total of 288 trials, that each participant has to do.

I´m also combining my experiment with Qualtrics.
So the sequence of my study is the following: Qualtrics-Pavlovia-Qualtrics.

Because I`m going to analyze my data using SPSS, I found out how to combine my Qualtrics data into one dataset by pairing the ID variable that stays the same for each person during my study.

The problem I have now is that in SPSS, each person is one row in my dataset, but when I look at the data from my experiment, each trial is in a separate row (so each person has 288+ rows) - so I don`t know how to combine the datasets.

Here is one example of the dataset of my experiment for one participant, when I do the experiment myself locally:
DotProbe-Data-OneParticipant-Locally.xlsx (64.0 KB)

I believe it is also important to note that I haven`t run this experiment online yet.
So far I have a “placeholder experiment” in order to check if the ID transfers throughout the 3 components of my study (which works fine). I am a little hesitant to run my dot probe experiment online, because it is not 100% done yet.

Does anyone know if that problem (each trial is in one row instead of all the data of one participant being in one (very long) row) will also occur when I run my experiment online and select “Database” as the format for saving results of all participants in one csv-file in Pavlovia?

And if the problem remains, will there be a way to fix this?

Or maybe there are people here who have experience with the dataset of dot-probe experiments for many participants and can tell me, how they solved this issue? :slight_smile:

Thank you very much! :blush:

This is a general issue and not specific to Dot Probe experiments, online experiments or even PsychoPy.

There are some ideas about how I use custom tables to build summary files on my PsychoPy primer slides (available from

I now save my syntax so I can reuse it for similar experiments, but I don’t have one for a dot probe yet. Here’s an example anyway.

* Encoding: UTF-8.

SELECT IF (expt = 48).
SELECT IF (session >= 33280).

* Define Variable Properties.
VARIABLE ROLE /NONE  participant.

* Define Variable Properties.
FORMATS  Score(F5.2).

COMPUTE filter_$=(trials.ran = 1).
VARIABLE LABELS filter_$ 'trials.ran = 1 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.

* Custom Tables.
  /VLABELS VARIABLES=session participant gender student english OS age Phase Score 
  /TABLE session > participant > gender > student > english > OS BY age [MEAN, COUNT F40.0] + Phase 
    [COUNT F40.0] + Phase > Score [MEAN]
  /CATEGORIES VARIABLES=session participant gender student english OS Phase ORDER=A KEY=VALUE 

COMPUTE filter_$=(trials.ran = 1 & Score = 1).
VARIABLE LABELS filter_$ 'trials.ran = 1 & Score = 1 (FILTER)'.
VALUE LABELS filter_$ 0 'Not Selected' 1 'Selected'.
FORMATS filter_$ (f1.0).
FILTER BY filter_$.

* Custom Tables.
  /VLABELS VARIABLES=session Phase thinkingTime RT DISPLAY=LABEL
  /TABLE session BY Phase > thinkingTime [MEDIAN] + Phase > RT [MEDIAN]
1 Like

Thank you!

Should this issue be addressed before the start of my data collection? Or is it something that has to be dealt with after I have collected all my data?

Sadly, I do not know how to code myself so I unfortunately don`t know how to change this syntax so that it fits my experiment.
This is my experiment:
Dot_Probe_Task_Miso_neu.psyexp (1021.9 KB) (78.3 KB)
Baseline_Wordsheet.xlsx (29.2 KB)
Wordsheet_Gesamt.xlsx (70.9 KB)

I have another question, in one of your slides it says to not change or edit the field “participant” in the experiment settings.
I however have removed that, because I thought of it as confusing for my online participants (who get transferred from qualtrics to pavlovia). Instead I have an ID variable that transfers from qualtrics, to pavlovia and then to a second qualtrics survey.
Am I going to get problems with my data, if “participant” is removed?

  1. So long as all the data you need is being saved then I would deal with this after data collection.

  2. I would have piped ResponseID from Qualtrics to the participant field in Pavlovia. If you have database saving then not using participant shouldn’t be a big deal.

1 Like

Thank you very much!

1.So this syntax helps with organizing existing data and doesn`t change the way the data is being saved in the first place, right? :slight_smile:

2.I actually use a numeric id variable from qualtrics:

And in my first qualtrics survey I have put this at the end of the survey:


And then I have put this in the completed URL in PsychoPy in order to transfer the ID variable from pavlovia to my second qualtrics survey:

And my second qualtrics survey starts with the embedded id variable from the first qualtrics survey:

And this has worked when I did the study myself as a test-participant so I hope this is also going to work once I start my data collection soon.

And yes, I thought I have to select “database” as my saving format in order to have one dataset with all my participants instead of multiple single csv files (so I shouldn`t get any problems by not using “participant”).

  1. Correct. However, in cases where I have Qualtrics after Pavlovia, I sometimes send a summary of the Pavlovia results to Qualtrics to make analysis easier for undergraduates.

  2.${e://Field/participant}&id=${e://Field/id} includes a value for participant which you might not be setting in Qualtrics.

Using database saving does make it easier to analyse the Pavlovia data.

1 Like

In my test-experiment the link worked fine and the id for each person got transferred from Qualtrics to pavlovia and to the second qualtrics survey. I set up the value “id” so that I can assign the data results to the specific person, in the combined dataset.

Will I get a problem, if I leave the value for participant in the link above?

If so, would it be okay to just leave out the value for participant, so that the link looks like this?:${e://Field/id}

Yes, you can leave out participant if you aren’t using it (or set it to a constant if your experiment expects a value)