[open] Give feedback for slow RTs (+ don't record the RT for that stimuli & play it again later)
Hej Sebastiaan & other forum users!
I'm preparing a priming experiment & will collect RT data with OpenSesame. (First, I really appreciate the work you've put into this programm! I was very happy with it as I did my pilot study using it. Have already recommended it to others.)
In my pilot, the subjects reacted "too slowly" since I've only advised them to react quickly on the pre-experiment instructions. And now I want to integrate a feedback sequence which will be shown to any subject in a trial in which she/he will react after more than, say, 3000ms. It should be shown immediately after the subjects "slow" trial.
I'm wondering how to imply such a feedback. I've read your (Sebastiaan) info documents about feedback items but in my case, I don't want to "simply" have a feedback item after e a c h trial but o n l y after trials with RTs longer than 3000ms. How can I do that?
Additionally I want the exact trial to be "played again" (in my case it's music & speech) since the RT on the original trial is over 3000ms and I want to exclude it from the other data. How can I implemend this function as syntax/into the experiment?
I'm thankful for every hint!
Samira
Comments
Hi Samira,
Glad to hear you like OpenSesame!
To show a feedback item solely if a participant responded too slow, you could use a "Run if" statement (see http://osdoc.cogsci.nl/usage/variables-and-conditional-qifq-statements) to determine whether the item should be run. This can be achieved in two ways:
1. With the current version of OpenSesame:
In the current version of OpenSesame, "Run if" statements cannot be numerical comparisons such as "[response_time] > 3000". To get around this issue, you need a little bit of Python inline code. More specifically, this works as follows:
At the end of the trial_sequence, add a feedback item and (in the trial_sequence) set its "Run if" condition to [show_feedback] = yes.
Just before the new feedback item, add an inline_script item and put the following code in its "Run phase" tab:
[gist:3910901]
The complete example experiment can be found here (simply download and "save as" with the extension ".opensesame").
2. With the latest pre-release:
Alternatively, you could consider using the latest pre-release of OpenSesame, which can handle more sophisticated "Run if" statements. The latest pre-relase (currently 0.27 pre-15) can be obtained as described here.
Now, you can simply set the feedback item's "Run if" condition to [response_time] > 3000. Yet, note that when using a pre-release it's always possible that you encounter bugs.
Repeat incorrect trials:
With regard to your second question, there is no built-in function to repeat error trials yet, although it is noted as a feature request.
For now, I would like to refer you to the following post, where Sebastiaan gave an example for how to re-run cycles by using some Python inline code:
http://forum.cogsci.nl/index.php?p=/discussion/comment/215.
I hope this helps. If you have any trouble applying this to your own situation, please feel free to ask any further questions!
Best wishes,
Lotje
Did you like my answer? Feel free to
Hej Lotje,
thank you for your detailled information! Sorry for taking so long to answer but right now I'm preparing the stimuli, so I can't try OpenSesame out yet but I'll give it a try next week and hopefully it'll work.
And thanks for your offer to help in case I can't apply the inline coding!
Here's your rose:
@};-
Best,
Samira