Feedback
Dear all,
my experiment consists of a total of 400 trials and they are divided into 4 blocks with 100 trials each. After every block the participants receive feedback on their performance: 1. accuracy (expressed as a percentage); 2. average reaction time in milliseconds.
Additionally the participants will be informed if they managed to improve their performance from one block to another. I was thinking of showing them feedback for their performance on the previous block alongside their performance on the current block and/or showing them the difference between their performance on the previous block and their performance on the current block (i.e. accuracy current block - accuracy previous block; average reaction time current block - average reaction time previous block). My idea was to create separate performance variables for each block (with an inline script) so the excel file will have a variable for accuracy and average reaction time for block 1, block 2 and so on. This would allow me to compute the difference between the blocks (or to compare the performance indicators respectively). After that I could insert the variables into a sketchpad as shown in the tutorial:
End of block 2
Your average response time was [avg_rt_block2] ms
Your accuracy was [acc_block2] %
Difference average response time between block 1 and block 2: [diff_avg_rt_block1_and_block2] ms
Difference accuracy between block 1 and block 2: [diff_acc_block1_and_block2] %
I have 2 questions:
- Is this a good way to get the intended result?
- Could someone tell me what code I should use in the inline script that would compute the accuracy (expressed as a percentage) and the average reaction time?
Does this make sense?
Thanks in advance for your help!
Comments
Hi erwinwirne,
I imagine that your blocks are randomly selected in a loop, right?
You may use the standardvariables as "correct_response" in combination with the variable that counts the loop. Just count them in an inline_script for each repetition of the loop separately. Same for RTs.
Your second part should say [avg_rt_block1-avg_rt_block2]
Greetz
Stephan
Dear Stephan
Thank you for your answer! Since all blocks have the exact same variables I didn't randomize them. At the beginning of each block I inserted a reset_feedback. I added an inline script with a short code:
This means that each block has a seperate variable with accuracy and average reaction time. Then I used the second part you suggested (thanks again): [avg_rt_block1-avg_rt_block2]; It seems to work fine, my only problem is that the first answer is never recorded (i.e. it says NA) and this means that the columns shift a line lower.. Do you know what I mean? Is there a way to solve this problem? Maybe define the variables in the prepare phase?
Thanks for your help!
Erwin
As far as i understood, you did not use a loop. (In a loop you may have repeated your block (=sequence ) also without randomization). In a loop you need to define the new variables depending on the loop repetitions.
Anyway, you just copied the blocks, right?
You put an inline_script at the beginning of each block, which sets accuracy to 0.
reset_feedback()
And you put an inline_script directly before the feedback_item, which defines the accuracy of a certain block. Do not put it at the beginning of the block, because accuracy is 0 after resetting, or the accuracy of the previous block before resetting.
Hi Erwin,
I think, the problem is that there is no
logger
executed after you changed the value of your variable. Therefore, it might have been updated internally, but the new value of the variable is never written to file until the nextlogger
is executed. In aloop
this would be the next trial.So, to fix that, you have to write another line to the logger.
Hope this helps.
Eduard
Dear Stephan, dear Eduard
Thanks for your help! You are absolutely right Eduard! It was quite an easy mistake, I placed the inline script after the logger by accident. I switched the position of the inline script and now it works just fine
Thanks again
Erwin