Howdy, Stranger!

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

Supported by

Accuracy rate and verbal decision task

Hello everyone, I'm a begginer on open sesame and i try to construct a verbal decision task.

I would like to know what is the accuracy rate and how it is calculated?
Also, in my experiment, when i look for the results, the "Acc" and the "Accuracy" flield remains as "undefined", so i would like to know if it is compatible with my experiment wich is a verbal decision task as follow : if the word is a double consonnant word, press "d", if it is a simple consonant word, press "k" and if a specifique word appears press "space".

Thank you for your help =)


  • Accuracy in opensesame is determined based on the variables var.correct_response and var.response. If they are the same, the variable var.correct will evaluate to 1, otherwise to 0. var.acc is the accumulated score of var.correct divided by the total number of trials (per block, or since the last time the feedback was reset).

    So, if your logfile has undefined accuracy scores, you probably haven't defined the correct response. Given your design, the location to do that is the loop table just add a column with the label correct_response and specify what is the correct response for a certain condition.

    Good luck,

    Thanked by 1sollago
  • Thank you very mutch for your response !

    Now i would like that the open sesame only consider the reponse linked to the target reponse ?

    In fact, the verbal decision is an ongoing task, the only things taht interesting me, is if the subject repond "space" to the target words

    Practicaly, i would like that the accuracy rates increase and decrease with the "space" responses but remains unchanged with the others keyboard responses.

    Is it possible?

  • That is a little trickier. In this case, I think you have to define your own accuracy and can't use Opensesame's default one. Probably best to use an inline_scripts. Once in the beginning of either your experiment or a block (depending on whether you want your feedback to be reset), you have to initialize a three variables, let's say:

    var.myAcc = None
    var.totalCorrect = 0
    var.totalNoTrials = 0

    Later, you have to make use of another script, which you put it in your trial loop, after the keyboard response, but before the logger. And the code needs to be in the runphase

    if var.correct_response == 'space': 
        var.totalNoTrials += 1 # increase the number of trials that go into the calculation of the accuracy
        if var.response == var.correct_response:
            var.totalCorrect += 1 # if correct response given increase that counter
       var.myAcc = float(var.totalCorrect)/var.totalNoTrials # compute new accuracy

    These variables should then be present in your logfile.

    Hope it helps.


Sign In or Register to comment.