Liwenna,<br><br>Thanks so much for this thoughtful and extensive reply! I'll give it a shot and let you know.<br><br>Thanks again,<br><br>Morgan<br><br><div class="gmail_quote">On Sat, Aug 8, 2009 at 8:12 AM, liwenna <span dir="ltr"><<a href="mailto:liwenna@gmail.com">liwenna@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Hey Morgan,<br>
<br>
Basically what you need are variables that run accros the whole<br>
experiment instead of per trial. You can define these in the user tab<br>
of the script window. After you've generated the script a script<br>
window is opened that has two tabs to be chosen from in the bottom of<br>
that window: full (shows the script) and user (which is empty). Now<br>
declare the variables you need in that user-tab. For instance:<br>
<br>
========================<br>
dim correctcounter as integer<br>
dim errorcounter as integer<br>
dim rtcorrectcounter as integer<br>
dim rterrorcounter as integer<br>
dim omitedcounter as integer<br>
dim trialcounter<br>
<br>
dim finalpercentcorrect as integer<br>
dim finalpercenterror as integer<br>
dim finalpercentomitted as integer<br>
dim meancorrectrt as integer<br>
dim meanerrorrt as integer<br>
==========================<br>
<br>
Now at the end of a trial (or after an answer is given) you need to<br>
insert an inline that updates the error- an correctcounter based on<br>
the answer given.<br>
The following code should do this: firstly it simply updates the<br>
counter that keeps the total number of trials which we'll need later<br>
on. Then it determines whether or not a response is given. If there is<br>
no response (slidedisplay.resp = "") then the omittedcounter is<br>
updated and written to the edatfile. If a response is given (case<br>
else) it goes on to determine whether or not this response is correct<br>
and based on that, it updates either the correct- or the errcounters<br>
and writes them to the edatfile. The z in front of the attributenames<br>
makes them all appear at the far right of the edat file (which is<br>
alphabetically ordered) so you can easily find them. This select case-<br>
construction is to make it so that omitted trials are not counted as<br>
errortrials.<br>
<br>
==========================<br>
trialcounter = trialcounter + 1<br>
<br>
Select case slidedisplay.resp<br>
<br>
case ""<br>
omittedcounter = omittedcounter + 1<br>
c.setattrib "zomittedcounter", omittedcounter<br>
<br>
case else<br>
if slidedisplay.acc = 1 then<br>
<br>
correctcounter = correctcounter +1<br>
c.setattrib "zcorrectcounter", correctounter<br>
rtcorrectcounter = rtcorrectcounter + slidedisplay.rt<br>
c.setattrib "zrtcorrectcounter", rtcorrectcoutner<br>
<br>
end if<br>
<br>
if slidedisplay.acc = 0 then<br>
<br>
errorcounter = errorcounter + 1<br>
c.setattrib "zerrorcounter", errorcounter<br>
rterrorcounter = rterrorcounter + slidedisplay.rt<br>
c.setattrib "zrterrorcounter", rterrorcounter<br>
<br>
end if<br>
<br>
end select<br>
<br>
=======================<br>
The above script updates the counters for each trial based on the<br>
answer given. At the end of the experiment we should of course make<br>
the counters go to percentages and the rt's should be averaged.<br>
<br>
Place something like this in an inline that is located on the<br>
sessionproc after (all) the trialproc(s) have been run (I'm not<br>
entirely sure whether the / for dividing will work just like that...<br>
but you should be able to work that out). Firstly it updates the user-<br>
tab variables based on the counters and the second part writes it all<br>
to the edat file.<br>
<br>
=============================<br>
finalpercentcorrect = correctcounter / trialcounter<br>
finalpercenterror = erorrounter / trialcounter<br>
finalpercentomitted = omittedcounter / trialcounter<br>
meancorrectrt = rtcorrectcounter / correctcounter<br>
meanerrorrt = rterrorcounter / errorcounter<br>
<br>
c.setattrib "zfinalpercentcorrect", finalpercentcorrect<br>
c.setattrib "zfinalpercenterror", finalpercenterror<br>
c.setattrib "zfinalpercentomitted", finalpercentomitted<br>
c.setattrib "zmeancorrectrt", meancorrectrt<br>
c.setattrib "zmeanerrorrt", meanerrorrt<br>
<br>
==========================<br>
<br>
Lastly you can show a slide that tells the subject the following<br>
(place a text like this in a text-object).<br>
<br>
==========================<br>
You've finished [trialcounter] trials and of these trials you've<br>
answered [finalpercentcorrect] % correctly, [finalprcenterror]%<br>
incorrectly and you did not answer [finalpercentomitted]% of the<br>
trials. Your average reactiontime on the trials you've answered<br>
correctly was [meancorrectrt] milliseconds, and for the trials you've<br>
answered incorrectly your average reactiontime was [meanerrorrt].<br>
==========================<br>
<br>
Ok.... now all the above is to give you an idea of what should be done<br>
more or less.... I did it top of my head and have no opportunity to<br>
actually run it in e-prime so I am not entirely sure whether it will<br>
all work as intended but it should get you started.<br>
<br>
Good luck on it!<br>
<br>
liwenna<br>
<div><div></div><div class="h5"><br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
On Aug 7, 7:39 pm, Morgan <<a href="mailto:morgan.pr...@gmail.com">morgan.pr...@gmail.com</a>> wrote:<br>
> I'm attempting to program an n-back task in E-Prime and am currently<br>
> trying to figure out how to have the task generate a performance<br>
> summary to be displayed at the completion of the task, which would<br>
> include % of correct responses, % of incorrect responses, reaction for<br>
> correct responses, reaction for incorrect responses, and the number of<br>
> omitted trials across the entire task (in other words, not after each<br>
> trial or each block, but at the end of all of the trials/blocks).<br>
> Would any of you know how to do this?<br>
><br>
> Many thanks,<br>
><br>
> Morgan Prust<br>
</div></div><br>
</blockquote></div><br>
<br>
--~--~---------~--~----~------------~-------~--~----~<br>
You received this message because you are subscribed to the Google Groups "E-Prime" group. <br> To post to this group, send email to e-prime@googlegroups.com <br> To unsubscribe from this group, send email to e-prime+unsubscribe@googlegroups.com <br> For more options, visit this group at http://groups.google.com/group/e-prime?hl=en<br>
-~----------~----~----~----~------~----~------~--~---<br>
<br>