Hello,
I am trying to create an experiment which participants can label the facial expressions in accordance with the given words. I use “rating scale” as a response to collection methods. I have three choices on the scale that participants could choose. After they gave their choice, they will immediately receive the feedback whether their answer was correct or not. I have created several codes using the “code component” to build this up. But I encountered several problems.
1/ For some reasons, even though I gave the correct answer, the feedback is still saying that I was wrong. I tried to flip the code, and it did tell me I was correct after I gave a correct answer. However, since I mentioned I have three choices on the scale, and the feedback end up being like “two choices will be correct, one choice is wrong” and the other way around. I guess my question is, what I should write in the code so that in three choices, there is only one correct answer and two incorrect answers.
Begin Experiment:
nRepsCorr = 0
nRepsIncorr = 0
Begin Routine:
if rating1.corr == 1:
nRepsCorr = 1
nRepsIncorr = 0
else:
nRepsCorr = 0
nRepsIncorr = 1
2/ Since there are three options displaying on the rating scale, they are not always the same but much depend on the stimulus. I created an excel file for the choices, but for some reasons, they appeared oddly. Look below for example:
Begin Routine:
list_of_labels = [Choice1, Choice2, Choice3]
rating1.choices = list_of_labels
for iii, label in enumerate(rating1.labels):
label.setText(list_of_labels[iii])
Each Frame:
if rating1.getRating() == CorrectAns:
rating1.corr = 0
else:
rating1.corr = 1
=> For some reasons the labels only showed up at the tick marks #1 and #3 only
This is how it looks like for one trial:
The choices should appear as “Angry, Fearful, Neutral” but at the second tick marks, nothing was shown. The #3 tick mark’s acceptValue was “Neutral” instead of “Fearful” as shown on the tick marks.
I decided to try clicking on a different tick mark, and the acceptValue shown as “Fearful”
(The correct answer for this trial is “Angry”)
The name of the labels does not match with the showAccept value too!
Below is how my excel file looks like for this particular trial.
For “RatingScale” component, I use the “custom” function, and I designed my scale like this:
low=1,
high=3,
precision=1,
size=2,
scale=None,
tickHeight=1.0,
pos=[0,-0.3],
mouseOnly=True,
showValue=True,
showAccept=True
I was trying to recreate every single step again and again, but it always ended up with the same results. I wonder what the problem was…
If you have some insights, and you don’t mind, please share with me. I appreciate all your help.
Hope to hear your thoughts.
Thank you very much!