Reply To: Response time on comprehension questions

PennController for IBEX Forums Support Response time on comprehension questions Reply To: Response time on comprehension questions

#6651
Jeremy
Keymaster

Good morning,

There sure are alternative/additional ways, but subtracting the two timestamps is probably the most accurate measure you can get: each timestamp reports when the event happened, to the millisecond (modulo browser lag). In your case, you know that the participant pressed a key almost exactly one second (1072ms) after the main Canvas element was displayed. Subtracting the timestamps is a simple operation in R (line 7).

If you really need to report the RT at the end of every row, you can use a global Var element that you set to Date.now() when printing the Canvas and whose value you subtract to Date.now() after selection happened, and you can log it on your newTrial:

Template("fullstim.csv",
    row => ["fullstim",
        "DashedSentence", {s: row.Sentence},
        "PennController", newTrial("experiment",
    defaultImage
        .size(500,350)
        ,
    newImage("male", row.MaleImageFile)
        ,  
    newImage("female", row.FemaleImageFile)
       ,
    newCanvas(1000,500)
        .add(   -50 , 0 , newCanvas("left" , 500, 500) )  
        .add( 475 , 0 , newCanvas("right", 500, 500) )  
        .print()
        .log()
        ,
    newVar("RT").global().set( v=>Date.now() )
        ,
    newCanvas(50,50)
        .add(180,-100, newText("(A)"))
        .add(700,-100, newText("(B)"))
        .print()
        ,
    
    getCanvas("left").add( 0 , 0 , getImage(row.LeftPicture))
    ,
    getCanvas("right").add( 0, 0 , getImage(row.RightPicture))
    ,
    newSelector()
        .disableClicks()
        .add( getImage(row.LeftPicture) , getImage(row.RightPicture) )
        .keys(          "A"    ,          "B"   )
        .log()
        .wait()
        .test.selected( getImage(row.Target) )
        .success( newText("Correct! Remember, <i> faire </i> plus the infinitive shows that the object performs the action. Otherwise, the subject performs the action.").css("font-size","1.5em").print() )
        .failure( newText("Incorrect! Remember, <i> faire </i> plus the infinitive shows that the object performs the action. Otherwise, the subject performs the action.").css("font-size", "1.5em").print() )
        ,
    getVar("RT").set( v=>Date.now()-v )
        ,
    newButton("Next").print().wait()
    )
    .log('Item', row.Sentence)
    .log('Group', row.Group)
    .log('RT', getVar("RT"))
])

Jeremy