scoring a nonresponse as a correct answer

Jim jjprisciandaro at gmail.com
Tue Feb 23 22:04:28 UTC 2010


Thanks David, I was typing my last response while you posted this!

I think I understand Mich's response now. Essentially, there needs to
be a gap between the end of the response interval of a given stimulus
and the presentation of the next instance of the same stimulus? What
would be the least disruptive way to change my task so that non-
responses are correctly logged (e.g., should I change the response
duration to 1249ms)? Also just to make sure I'm clear on this, Is this
problem related to the fact that my objects have 100ms of prerelease
or is this a totally separate issue?

I read the timing chapter twice and the prerelease section more than
that; unfortunately I am still very confused. Your general guidelines
help. From your description, it really seems like one should not use
prerelease if they are logging responses. Or I'm just misunderstanding
you :)

Also, David, I wanted to give an update on my other posting that you
responded to here (the one that has a task with feedback synching with
physio data collection). I tried setting all objects to cumulative
mode. Timing was relatively repeatable accross runs (give or take a
millisecond); however, when I responded to the stimuli instead of just
letting the task run without responses, the timing was not repeatable
(30-50ms off). I am not using prerelease with this task; participants
are given feedback and I don't want it to interfere. Any ideas?

Thanks,
Jim

On Feb 23, 4:44 pm, David McFarlane <mcfar... at msu.edu> wrote:
> Mich -- Good catch!  Of course I had to try and
> verify this for myself, and as you outlined, if
> the Time Limit extends around to the next use of
> the same object, then E-Prime never gets to score
> the non-response and .ACC gets stuck with the
> default value of 0.  Whenever I have used
> non-responses in the past of course I used either
> self-paced trials with End Action = Terminate, or
> I had better contained Time Limits, so I never
> noticed this until you mentioned it.
>
> Jim -- Ben's response refers to the use of what
> PST calls "Extended Input", you can learn about
> that in Appendix C of the User's Guide that came
> with E-Prime.  If you do not do this already,
> then only the letter object should collect the
> response, throughout its Duration and the
> Duration of the following blank period, using
> Extended Input (i.e., setting Time Limit to the
> sum of both Durations).  If you cannot use a
> constant Time Limit then you will need some code to set it each time.
>
> Also, as explained in Chapter 3, PreRelease *can*
> interfere with data logging even if there is no
> inline scoring code, in particular if you get a
> response during a PreRelease right at the end of
> a Procedure.  E.g., if your final
> stimuls/response object has a Duration of 1000 ms
> and a PreRelease of 200 ms, then E-Prime will run
> the object for just 1000 - 200 = 800 ms and then
> move on log responses, end the trial procedure,
> prepare the next object (i.e., the first object
> of the next trial) and then wait for the new
> object's .TargetOnsetTime.  If your subject
> responds during that final 200 ms PreRelease
> window then it comes *after* responses have
> already been logged and will not be logged
> itself.  So please read through that section
> again.  Understanding PreRelease gets tricky, and
> I try to give beginners some rules of thumb such
> as,  (1) if your Procedure collects a response,
> then do not use PreRelease,  (2) if your
> Procedure does *not* collect any response then
> feel free to use any PreRelease that you
> like,  (3) if you do use a PreRelease, don't
> bother overthinking it, just make it some
> arbitrarily large value.  This is Draconian, and
> may well lead to some timing inaccuracies, but in
> general we fear losing responses more than we
> fear bad timing, and we can deal with the timing
> issues just for those cases where it matters.
>
> Finally, I will repeat that no one should ever
> take my word (much less the E-Prime
> documentation's word!) for anything -- you should
> think up as many specific test cases as you can
> and make as many short demo programs as you need
> to convince yourself of how things really
> work.  All we can do here is give you a few hints of paths to try.
>
> -- David McFarlane, Professional Faultfinder
>
> At 2/23/2010 11:57 AM Tuesday, you wrote:
>
>
>
> >Hi,
> >Speaking before my turn, but I thought perhaps
> >the only issue you have is due to a 'pending'
> >response, which is not exactly the same as an
> >inaccurate or accurate response. Does the
> >display to which you have an accurate or
> >inaccurate response perhaps one that has a
> >certain time limit? If I have a simple screen
> >with time limit 10000 ms and duration 100 ms,
> >for example, this is logged as ACC = 0 (just tested).
> >Cheers,
> >Mich
>
> >Michiel Spapé
> >Research Fellow
> >Perception & Action group
> >University of Nottingham
> >School of Psychology
>
> >-----Original Message-----
> >From: e-prime at googlegroups.com
> >[mailto:e-prime at googlegroups.com] On Behalf Of Jim
> >Sent: 23 February 2010 16:00
> >To: E-Prime
> >Subject: Re: scoring a nonresponse as a correct answer
>
> >Ben: Thanks, this is a creative solution. However, as per David's
> >response, it seems like there is something wrong with my task and that
> >it should be able to correctly score nonresponses without inline code.
>
> >David:
> >"I myself have used a blank [Correct] to score the accuracy of
> >no-response trials (where the absence of a response is correct and
> >any other response is incorrect) and that worked fine for me."
>
> >By reading the description above of my experiment, do you have any
> >leads as to what might be causing the no-response trials to be
> >incorrectly scored? I'm stumped.
>
> >"For instance, if you do not use the .ACC within the trial
> >itself (only to log it) and know the response will come before the
> >onset of the final object in trial Procedure, then you can safely use
> >PreRelease with abandon and then use inline code after the final
> >object to score the .ACC if needed."
>
> >Unfortunately, I don't think this will be helpful because the final
> >object in the trial procedure is still logging participants responses.
> >For this particular experiement, the trial procedure consists of a
> >letter (250ms), and subsequently a blank screen (1000ms); participants
> >responses are logged during both of these objects. For my other
> >experiments, the inline scoring code is used in the trial itself.
>
> >One related question/clarification: I am assuming that if there is no
> >inline scoring code that prerelease doesn't interfere with data
> >logging. Is this a correct assumption?
>
> >Thanks,
> >Jim
>
> >On Feb 22, 5:52 pm, David McFarlane <mcfar... at msu.edu> wrote:
> > > Jim,
>
> > > First, your earlier designed used what I call "multiple correct
> > > response targets".  By way of background, if you search this Group
> > > using terms like that then you will find where we have discussed
> > > several approaches to that.
>
> > > Second, I wonder if something else is going on in your program?  I
> > > myself have used a blank [Correct] to score the accuracy of
> > > no-response trials (where the absence of a response is correct and
> > > any other response is incorrect) and that worked fine for me.  It
> > > should just work for you.
>
> > > Third, you might want to study Chapter 3 further to better understand
> > > the intricacies of PreRelease.  Sadly, PST does not do a very good
> > > job of explaining it, and in fact the whole PreRelease mechanism
> > > provides much more granularity than users need or want (should be
> > > just on or off -- whenever I use PreRelease I just set it to some
> > > arbitrarily large value, often larger than the Duration, with no ill
> > > effects).  For instance, if you do not use the .ACC within the trial
> > > itself (only to log it) and know the response will come before the
> > > onset of the final object in trial Procedure, then you can safely use
> > > PreRelease with abandon and then use inline code after the final
> > > object to score the .ACC if needed.
>
> > > Fourth, whenever I teach E-Prime for fMRI, I first briefly explain
> > > the difference between Event and Cumulative timing.  Then I just lay
> > > down the law and tell students, for fMRI, just make things easy and
> > > set *every* object to Cumulative timing!!  Yes, I know that is
> > > excessive, but I have yet to find a case where Cumulative timing
> > > creates a problem, whereas Event timing is known to create problems
> > > in several contexts.  If it were up to me I would just make
> > > Cumulative the default and then only allow users to choose Event mode
> > > if they think it really applies to their study (back when I wrote
> > > everything in C I did everything in what E-Prime calls "Cumulative"
> > > timing mode, it just seemed cleaner and took no real programming effort).
>
> > > -- David McFarlane, Professional Faultfinder
>
> > > At 2/22/2010 11:17 AM Monday, you wrote:
>
> > > >i think you'll need to use an inline to do this, but i also think
> > > >you can mostly avoid the complications introduced by using the prerelease.
> > > >here's what i would do:
>
> > > >put your inline after the 1000 ms blank screen, knowing that the
> > > >inline code may be read as early as 900 ms into the blank screen's
> > > >duration (and only 1150 ms after onset of your letter stimulus).
> > > >the script in the inline would be something like this:
> > > >Do
> > > >Loop Until (Clock.Read - LetterStimulus.OnsetTime) < (1250 -
> > > >Display.RefreshDurationStats.Mean)
> > > >If LetterStimulus.RESP = "" And c.GetAttrib("Stim") = "X" Then
> > > >LetterStimulus.ACC = 1
>
> > > >that Do...Loop will loop continuously until there is less than a
> > > >single screen refresh's worth of milliseconds remaining in the
> > > >LetterStimulus's response window, at which point the script will
> > > >kick out of the Do...Loop, check to see if there was no response,
> > > >and if no response and if 'X' then assign an accuracy of '1' to the
> > > >LetterStimulus object.
>
> > > >how's that?
>
> > > >ben
>
> > > >On Mon, Feb 22, 2010 at 11:01 AM, Jim
> > > ><<mailto:jjprisciand... at gmail.com>jjprisciand... at gmail.com> wrote:
> > > >Hello forum,
>
> > > >I sent this question to e-prime support last week; unfortunately, they
> > > >are experiencing high volume and have been taking a long time to get
> > > >back to my requests. They are time sensitive, so I was hoping the
> > > >forum might have some ideas.
>
> > > >I'm working with an e-prime experiment where participants are asked to
> > > >press a button ("7") whenever they see a letter except for "X" (at
> > > >which point they are asked to withold a response). I have a column in
> > > >my task list "CorrectAnswerL" which states "7" for any letter (another
> > > >column in the task list) other than X; CorrectAnswerL is blank for
> > > >trials with "X"s. In the procedure associated with that list, the
> > > >stimulus "LetterPresentation" has [CorrectAnswerL] listed in the
> > > >"Correct" blank in the "Duration/Input" tab. When I run the task,
> > > >nonresponses are not scored as correct for X trials (that is,
> > > >LetterPresentation.ACC = 0).
>
> > > >I previously had the task running with an inline script following the
> > > >stimulus and a blank pane "ISI" which stated:
>
> > > >If LetterPresentation.RESP = c.GetAttrib ("CorrectAnswerR") OR
> > > >LetterPresentation.RESP = c.GetAttrib ("CorrectAnswerL") Then
> > > >LetterPresentation.ACC = 1
> > > >End If
>
> > > >At this time there were two correct responses which is why there is an
> > > >additional "correctanswer" attribute. This is no longer the case, and
> > > >I want to
>
> ...
>
> read more »- Hide quoted text -
>
> - Show quoted text -

-- 
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To post to this group, send email to e-prime at googlegroups.com.
To unsubscribe from this group, send email to e-prime+unsubscribe at googlegroups.com.
For more options, visit this group at http://groups.google.com/group/e-prime?hl=en.



More information about the Eprime mailing list