feedback on accuracy

Ben Staab staab at Waisman.Wisc.Edu
Mon Jul 21 15:57:44 UTC 2003


If you just need to give a mean of their accuracy, you should be able to
use @ACC.MEAN on your feedback display object.  If you need more than just
a mean, take a look at FeedbackDisplay.ACCStats in the E-Basic Help.  It
returns a Summation object that provides different statistical functions
like standard deviations and such.  Otherwise, if you are trying to show a
chart of some sort with the accuracy for each letter in the sequence
individually, that could be a little trickier.  It seems from some of the
things that I've tried doing in my own scripts, that E-Prime writes the
individual trial results to the log file and then throws them out.  So you
may have to keep track of them yourself by doing something like this:

1. In the user tab of the main script window, declare an integer array with
16 slots, and a counter:
         Dim MyArray(1-16) as Integer
         Dim TrialsCounter as Integer
         TrialsCounter = 1

2. Put an inline script right after each letter is displayed that will
insert the accuracy into  the array:
         MyArray(TrialsCounter) = TheNameOfYourTextDisplayObject.ACC
         TrialsCounter = TrialsCounter+1

3. When all the trials have been completed (so make sure this is outside
your trialsproc, whatever you may have called it) add one last text display
object (pick your own name, but I'm calling it SumText) with an inline
script after it.  The script will look something like this:
         ' Declare some position and a counter variables
         Dim x, y, i as integer
         x = 20
         y = 20
         i = 1

         ' print a simple header
         SumText.Text x, y, "Accuracy Summary:"

         'Start looping thru the results.
         'This displays results in two columns
         For i = 1 to 16
                 if(i = 9) then          ' if we've already displayed 8 items,
                         x = x + 50      ' move right to a second column,
                         y = 40          ' and move back to the top.
                 else                    ' Otherwise,
                         y = y + 20      ' move the y position down
                 end if

                 'instead of showing 0 or 1, use english
                 if(MyArray(i)=0)then
                         SumText.Text x, y, "Trial " & i & ": Incorrect"
                 else
                         SumText.Text x, y, "Trial " & i & ": Correct"
         Next i

I think that should do it.  Lastly, a few caveats: I haven't tried this
myself; this is all off the top of my head.  So it's entirely possible I've
got syntax and/or logic errors in there.  Also, those x and y positions are
just guesses on my part, change them as you see fit.

I hope that helps and that I didn't completely miss the point of your question.

Ben Staab
staab at waisman.wisc.edu

At 10:14 AM 7/18/2003 -0500, Taryn Tacosa wrote:
>Hello,
>
>I am having trouble finding a way to present accuracy feedback on a
>sequence of observations. Specifically, a subject is shown a sequence of
>letters, one at a time, and responds YES or NO to each letter (typical
>n-back task). I would like a screen to give the subject feedback on their
>accuracy at the
>end of each sequence, but am having trouble with this. So far, I can only
>get accuracy for the last display screen ONLY to appear, rather than
>accuracy across all 16 observations (letters).
>
>Any help would be greatly appreciated!
>
>Taryn Tacosa
>
>>RA
>>UNC-CH
>
>_________________________________________________________________
>Help STOP SPAM with the new MSN 8 and get 2 months FREE*
>http://join.msn.com/?page=features/junkmail
>



More information about the Eprime mailing list