Not recording responses when Feedback Slide is included (using InLine script)

284 views
Skip to first unread message

Clark

unread,
Sep 19, 2016, 2:39:40 PM9/19/16
to E-Prime
Hello!

We're creating an experiment that presents images, using Slides, and asks participants to match each image to a word.  The experiment includes a Feedback slide, and we're using an InLine script (excerpt below) in order to display Feedback for incorrect responses only.  

We originally designed the program to record responses and accuracy in the edat file (ACC and RT data) for all trials presented using the Slide.  However, when we included the Feedback slide, the program no longer records these data for all trials.  Instead, it only records responses for incorrect trials.  Any advice? 

Many thanks,
Clark

If RTarget.ACC = 1 Then

            End

      Else

            'Is it incorrect or no response?

            If Len(RTarget.RESP) > 0 Then

                  'Set the ActiveState to Incorrect

                  Feedback1.ActiveState = "Incorrect"

 

                  'Set the accuracy stats

                  Feedback1.AccStats.AddObservation RTarget.Acc

 

                  'Set the RT stats

                  Feedback1.RTStats.AddObservation RTarget.RT

                  Feedback1.IncorrectRTStats.AddObservation RTarget.RT

            Else

                  'Set the ActiveState to NoResponse

                  Feedback1.ActiveState = "NoResponse"

 

                  'Does the author want to consider a NoResponse

                  ' to sum as an incorrect response in the ACC stats?

                  If Feedback1.CollectNoRespACCStats = True Then

                        Feedback1.AccStats.AddObservation RTarget.Acc

                  End If

            End If

      End If


David McFarlane

unread,
Sep 20, 2016, 4:51:42 PM9/20/16
to e-p...@googlegroups.com
Clark,

I don't know what your feedback Slide does, but the code you show looks
a bit deficient. Here is the code that gets executed for the case
RTarget.ACC = 1 (the part between the If statement and the first Else):

End

That's all! It does not set any attributes for logging. In fact, I'm
surprised that your program continues to run at all after a correct
response, because the End statement should immediately end execution of
your program.

Also, as a side note to programming style, instead of structuring your
code here as

If RTarget.ACC = 1 Then ' correct
...
Else
If Len(RTarget.RESP) > 0 Then ' incorrect
...
Else ' no response
...
End If
End If

you would be better off structuring it as

If RTarget.ACC = 1 Then ' correct
...
ElseIf Len(RTarget.RESP) > 0 Then ' incorrect
...
Else ' no response
...
End If

I hope you can see the difference.

Best,
---------------
David McFarlane

Evan Miller

unread,
Sep 21, 2016, 2:05:23 PM9/21/16
to E-Prime
Hello David,

I am working with Clark on designing the task described above and wanted some clarification. We intend for the task to advance upon correct keyboard responses without a feedback presentation while continuing to indicate incorrect responses with a feedback screen, however we also want data (RT, ACC) from both the correct and incorrect responses.  Without utilizing inline text, the task requires two button presses per stimulus (no matter the accuracy) but records everything.  As you have indicated, the first couple lines of our inline text do not set any data recording, but solve the issue of multiple button presses. Is there a way to bypass the correct slide presentation, while recording the correct data, and maintaining a single input per stimulus (one each for incorrect and the subsequent correction respectively)?

Let me know if this makes sense, the issue is a bit convoluted. I can provide additional detail if necessary.

Thank you for your time,
Evan Miller

David McFarlane

unread,
Sep 21, 2016, 5:26:29 PM9/21/16
to e-p...@googlegroups.com
Evan,

Yes, I am having trouble following this. Both you & Clark want it to
record responses for both correct & incorrect responses. But the code
you show does not include any c.SetAttrib statements, so that code
alone itself does not log any response information for any responses.
So I don't really know why you get responses recorded for incorrect
trials but not for incorrect trials, I suspect that problem comes from
something outside of this code. I just thought I found some unrelated
problems in your code segment and I wanted to weigh in on that.

As for your wanting to skip a stimulus object under some
circumstances, you may generally do that using If-Then and Goto in
inline code, with a Label object in the structure somewhere past the
object that you would like to skip. Something like

If RTarget.ACC = 1 Then
' ... specific scoring & logging code, etc.
Goto CorrectRespLabel
ElseIf ...
...
Else
...

and put CorrectRespLabel right after your feedback stimulus.

Sometimes you can instead use a combination of multiple input masks
and a Jump action, along with a Label object as above, but the inline
method is more general.

Hope that helps,
-- David McFarlane
> --
> You received this message because you are subscribed to the Google Groups
> "E-Prime" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to e-prime+u...@googlegroups.com.
> To post to this group, send email to e-p...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/e-prime/5f4f605c-e9a4-4e91-9ca1-8281862edc80%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Clark

unread,
Sep 27, 2016, 11:40:41 AM9/27/16
to E-Prime
Thanks David,

Your suggestions re the GoTo line were helpful, and we've now got this one up and running.

Sincerely,
Clark
Reply all
Reply to author
Forward
0 new messages