Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Supported by

Randomising 3 different types of trials

Hi,

I'm trying to design an experiment such that I have 240 experimental trials that I would like to split into two blocks. The rule is that for every 20 experimental trials, I would like to run 1 catch trial that must be followed by 1 distractor trial. This means that in 1 block there will be 120 experimental trials, 6 catch trials and 6 distractor trials. How do I make it so that all the trials are randomised? is it possible to do it without code? I'm not good at coding and was hoping to do it all with the GUI especially since I have to do further coding with EEG triggers :')

For more context, I'm using audio stimuli and I need participants to perform a keypress response to every catch trial. Feedback at the end of each block will be given, telling participants how many catch trials they 'caught'.

I've tried running the break if function, the run if function, etc. but I just can't seem to make it work.

Comments

  • edited June 13

    Hi @shaza

    What do you mean when you say that the 'run if' function doesn't work? Have you tried [count_trial_sequence]/20 == 1? (constraint to add on your items for the catch/distractor trials)

    I'm not sure exactly what you are trying to achieve, but the solution may depend on how many unique audio files you have for the experimental trial and whether you want them to be randomised within or between blocks. It may also depend on whether these experimental trial audio files are different from the ones presented during the catch and distractor trials.

    If you could provide a sample of your experiment (or even better, your experiment file), it would be much clearer what you are trying to achieve.

    Best,

    Claire

  • edited June 15

    Hi Claire! @cvanbuck

    All 264 of my audio files (240 target trials, 12 catch trials, 12 filler trials) are unique. I don't have an experiment file because I don't know how to set it up. The [count_trial_sequence == n] does a good job at breaking the catch/distractor loop but I can't get it to go back to the target trials.

    To make it clearer, all trials are unique. Each block will have 120 target trials + 6 catch trials (1 after every 20 target trials) + 6 filler trials (1 after every catch trial). All trials are randomly picked from a list of 240 target trials, 12 catch trials, and 12 filler trials. Basically: target trial x20 > catch trial x1 > filler trial x1 > target trial x20 > catch trial x1 > filler trial x1 > ...

    I don't know if all 240 target trials should be placed in the same loop, but if yes, I don't know how to make the software randomly pick half for Block 1 and half for Block 2.

    Next, I don't know if catch trials and filler trials belong to a separate loop from the target trials because 1) one catch trial (randomly picked) appears after every 20 target trials and 2) one filler trial appears after every one catch trial.

    I hope this makes it clearer!!

  • edited June 16

    I found a temporary solution where I don't even split them up into separate blocks. I did a mock-up of 24 unique target trials, 4 catch trials and 4 filler trials with similar rules, i.e. Block 1 consists of 2 sets of 6 target trials followed by 1 catch trial and 1 filler trial, followed by a feedback and a break while Block 2 consists of 2 sets of 6 target trials followed by 1 catch trial and 1 filler trial, followed by a feedback and the end of the experiment. For this one, I didn't randomise the trials as a sanity check. For actual experiment I'll have to randomise within each loop.

    I'm not sure if this the best way for the 240 target trials, but if anyone can help me streamline this a bit more that'd be super helpful :)

  • Hi @shaza

    Here is a slightly modified version of your experiment, which should work as expected even for 240 target trials. If you add your full set of stimuli, you just need to adjust the 'run if' conditions in the 'target_sequence' sequence to indicate:

    • the number of trials before the 'catch_sequence' and 'filler_sequence' items are presented (currently every 6 target trials, which you might want to replace by 20)
    • the number of trials in a block, so the number of trials before the 'break' and 'feedback' items are presented (currently 12 target trials, which you might want to replace by 120 in your full version).

    If you only present each audio once, you can set the main_loop value 'n_repeat' to one (so, only one row).

    Hope this helps!

    Claire

  • Hi @cvanbuck

    Thank you for this!! It works :) I just added another sketch board in case they missed all the catch trials.

Sign In or Register to comment.