values in "correct" variable don't reflect the correct responses appropriately
Hi there,
We're running a few experiments at our lab using OS and OSWeb. For some reason, the values in "correct" variable don't reflect the correct responses appropriately (e.g., 0 when the participant is correct). We've tried to create an alternative variable manually, but it doesn't seem to work. Unfortunately, we've encountered this problem in both OpenSesame and OSWeb.
The problem is we want to use these variables to show the participants the correct response as feedback, but they are coded incorrectly, which results in a wrong feedback message (e.g., “Wrong! Your answer was R, and it should have been R”).
Suggestions and solutions are welcomed!
Thanks in advance.
Comments
Hi @maayanro,
This problem can have many different origins. Might be a coding error if you have code in your sequence, might be an issue with the use of several input objects in the same sequence, might be an error in defining the correct responses, might be that the feedback object is outside the sequence, etc. It's difficult to tell without knowing more about your task and design. Could you possibly upload your task or a boiled-down version of it here?
Best,
Fabrice.
Hi @Fab,
I'm attaching one of our experiments with that problem.
Thanks!
Maayan.
Hi @maayanro,
Your task is very long and complex (I suspect that using nested loops could have greatly simplified its structure). It is too long for me to work on. There are numerous types of trials with feedback.
Some feedback screens appear to be designed to give feedback in each trial:
While others appear to give feedback for a whole block (since they're located outside the trial sequence):
I don-t understand the language appearing on these feedback screens, but judging for the presence of green and red text, it looks as if you might be using the same screen to give positive and negative feedback, which is quite odd. If that's what you'd like to do, you should have two feedback objects and condition the presentation of each of them based on a condition (under "Run if" in the sequence object):
I don't see anything in your program calling upon the variable containing the score on a trial ([correct[). Furthermore, there is a problem with the way you define correct responses. You created a column called "correct" in your loops, but [correct] is actually a reserve variable name to contain whether a response is correct or not (1,0). Hence you must call that column something else (e.g., "correct_response"). Doing so, and defining that variable as the variable containing the correct answer in your keyboard objects, the score should now be calculated correctly and [correct] will take the value 1 when the response is correct, and 0 when it is not.
My recommendation is to go read the documentation about feedback variable and write a short, simple test program, just to make sure you understand how feedback work. Then you could implement it in a more complex task.
Hope this helps.
Fabrice.
Hi @Fab,
We'll try your suggestions, thank you!
Maayan.