Setting false feedback by group

1,057 views
Skip to first unread message

LizaM

unread,
Nov 30, 2009, 7:33:31 AM11/30/09
to E-Prime
Hello,

I have an experiment where 2 groups of people are presented with 2
differing sets of false feedback as part of a student experiment.
Both groups are given their correct score after being debriefed at the
end of the experiment.

Group 1 are given feedback saying they scored low (3 out of 25 of the
trials need to give feedback "Correct")

Group 2 are given feedback saying they scored high (15 out of 25 of
the trials need to give feedback "Correct")

At the moment I have this set up as 2 different E-Prime files so that
the student has to preallocate them into groups and then run the
correct file depending on the group. Ideally I'd like the student to
be able to run one file and the group input at the beginning to
determine which set of false feedback is given.

Currently I am using an inline as follows on both files to determine
when feedback is given (in the case of the 3 correct feedback is given
on Slide 5, Slide 7 and Slide 11 - State1 is the "Correct" slide,
Default is the "Incorrect" feedback slide - randblock is a variable
string for storing the number of blocks presented - due to way I have
calculated this it doubles the block number hence randblock 10 = trial
5 etc) :

if randblock=10 then FeedbackSlide.ActiveState = "State1"
if randblock=12 then FeedbackSlide.ActiveState = "Default"
if randblock=14 then FeedbackSlide.ActiveState = "State1"
if randblock=16 then FeedbackSlide.ActiveState = "Default"
if randblock=22 then FeedbackSlide.ActiveState = "State1"
if randblock=24 then FeedbackSlide.ActiveState = "Default"

So, I'm trying to work out how to

- set up groups so that the group can be selected at start up and
everything run from the one e-prime file

- to run different false feedback for each group...

Any help gratefully recieved!

Many Thanks

Liza

PS I have looked at
http://groups.google.com/group/e-prime/browse_thread/thread/6b7c2d14924a118f/ad18d7e4f85bce84?hl=en&lnk=gst&q=groups#ad18d7e4f85bce84
which is applicable is some ways but as that is based on real not
false results it doesn't really work.. plus I am still confused about
the setting up of the groups - something that I can't find in the
documentation - unless I am using the wrong wording?

Victor

unread,
Nov 30, 2009, 3:07:59 PM11/30/09
to E-Prime
Hi Liza,

I think this may solve your problem. Have a slide (e.g. slide1) at
the beginning of the experiment with two options, 1 and 2 (denoting
group) which the experimenter can press to begin. Before feedbackslide
5 for example, you can then have an inline with IF slide1.RESP = "1"
the slideresponse1.ACC = "0" which will activate the incorrect
feedback.

I am not sure why you have multiple feedback slides? If you are
working from a list with a single input sllide and feedback slide then
you may want to add the above together with a AND trialcount = x so
that incorrect feedback is given per group only on specific trials.

Hope this helps,
Victor
> PS I have looked athttp://groups.google.com/group/e-prime/browse_thread/thread/6b7c2d149...

David McFarlane

unread,
Nov 30, 2009, 4:50:22 PM11/30/09
to e-p...@googlegroups.com
Liza,

I would start by making a List in my SessionProc that contained all
my group procedures, let's call that GroupList. Each row/level of
GroupList would have a Procedure to run just one of my groups, and I
would want to link this to the Group Startup Info Parameter in such a
way that it runs one and only one row/level of my GroupList. Here is
how I do that:

First, of course, back in my Experiment Object Properties I would
enable the Group Startup Info Parameter, but you already know
that. (While I am at it, I might limit the numeric entry to 1 and 2,
or even better, change Data Type to Choice with entries only for 1
and 2. (And then, watch out for the empty Choice spot, as I
documented over a year ago at
http://support.pstnet.com/forum/Topic2182-23-1.aspx ).)

With all the preliminaries done, the next step is simple: I would
set the Selection Order of GroupList to Counterbalance, and set Order
By to Group. That's it! The documentation for this exists, but is
of course scant. In short, "Counterbalance" in E-Prime means that it
picks one row from the List based on Subject, Session, or Group (or
other attributes if you use inline script), and then runs only that
row. Very handy for just this purpose.


As it turns out, I started to do a full write-up on the Selection
options a few weeks ago with hopes of posting an article here in the
E-Prime Google Group. I don't have time to do that now, but FWIW
here is a rough preview:

Q: What do the different selection orders mean?

A:
- "Sequential" runs each row/level of the List for Weight number of
times in the order listed.

- "Random" means random without replacement. In effect it expands
each List row by its Weight, then shuffles the list and runs the rows
in the shuffled order. It then repeats this process whenever the
List gets Reset (e.g., all items used). (This all gets done in the
List's RandomOrder object, which acts as a hidden array of indexes
into the List; the List itself does not change.)

- "Random with Replacement" in effect expands each List row by its
Weight, then picks one row at random at a time with replacement and runs that.

- "Counterbalance" uses the Startup Info parameters Subject, Session,
or Group (no other options in E-Studio, but may use others in script;
if you try N/A in ES, it will switch back to Subject) to pick the
numbered row from the List and run just that, once. (I have not
discovered what role Weight may play here.) (Under the hood: It
produces the following script -- Set List.Order = New
SequentialOrder; Set List.Deletion = PickOne(...); List.ResetEveryRun
= True; Set List.TerminateCondition = Samples(1); Set
List.ResetCondition = Samples(1).)

- "Offset" uses Subject, Session, or Group (see Counterbalance above)
to start from that row and run Sequential from there. (I have not
discovered what role Weight may play here.) (Under the hood: It
produces the following script -- It produces the following script --
Set List.Order = OffsetOrder(...); Set List.Deletion = NoDeletion.)

- "Permutation" uses Subject, Session, or Group (see Counterbalance
above) to pick one permutation of the List, then reruns that one
permutation as many times as needed. (I have not explored the role
that Weight plays here.) (Under the hood: It produces the following
script -- Set List.Order = PermutationOrder(...); Set List.Deletion =
NoDeletion)

Also see the following topics in online E-Basic
Help: SequentialOrder Object, RandomOrder Object, RandomReplaceOrder
Object, OffsetOrder Object, Permutation[sic] Object (note no entry
for Counterbalance, see above).

-- David McFarlane, Professional Faultfinder

LizaM

unread,
Nov 30, 2009, 5:34:13 PM11/30/09
to E-Prime
Thanks for the answers Victor and David :) Once I'm back in work
tommorrow I will peruse them more fully and they should help me to
formulate a better solution ...

Victor, in answer to why 2 feedback slides - I have two states on one
slide (Default and State1) as that seemed to me to be the most logical
(ad easiest!) way to present 2 choices of feedback given that the
feedback is not dependant on the participant response but is given on
preselected trials regardless of participant response....

David, do you mean the following:

From Grouplist have Group1Proc and Group2Proc where

Group1Proc contains: Slide where stimulus selection is presented -
Inline script to give false "your answer is correct" feedback3 times -
slide which presents false feedback - slide which presents false "you
scored 3 out of 25" feedback (regardless of actual score)

Group2Proc contains: Slide where stimulus selection is presented -
Inline script to give false "your answer is correct" feedback15 times
- slide which presents false feedback - slide which presents false
"you scored 15 out of 25" feedback (regardless of actual score)

If I'm using 2 procs (only one of which will run per group) will i
still be able to use the same variable in each to sum the number of
correct responses and provide true feedback of number of correct
answers on the final slide or do I need to make that dependant on the
group which is selected?


On Nov 30, 9:50 pm, David McFarlane <mcfar...@msu.edu> wrote:
> Liza,a
> >http://groups.google.com/group/e-prime/browse_thread/thread/6b7c2d149...

David McFarlane

unread,
Dec 1, 2009, 11:56:20 AM12/1/09
to e-p...@googlegroups.com
Liza,

At 11/30/2009 05:34 PM Monday, you wrote:
>David, do you mean the following:
>
> From Grouplist have Group1Proc and Group2Proc where
>
>Group1Proc contains: Slide where stimulus selection is presented -
>Inline script to give false "your answer is correct" feedback3 times -
>slide which presents false feedback - slide which presents false "you
>scored 3 out of 25" feedback (regardless of actual score)
>
>Group2Proc contains: Slide where stimulus selection is presented -
>Inline script to give false "your answer is correct" feedback15 times
>- slide which presents false feedback - slide which presents false
>"you scored 15 out of 25" feedback (regardless of actual score)

Yes, something like that.

>If I'm using 2 procs (only one of which will run per group) will i
>still be able to use the same variable in each to sum the number of
>correct responses and provide true feedback of number of correct
>answers on the final slide or do I need to make that dependant on the
>group which is selected?

If you make one global variable then you can use it for as many
groups as you like. If you would rather have separate variables for
each group then you can do that too, it's all up to you. With some
thought you might also share the same Lists, Slides, and even scripts
between the two group procedures, just changing the relevant
parameters as needed (perhaps set in attributes of GroupList). And
you can follow GroupList with one final slide in the SessionProc that
presents the correct final score for any group. Etc. Explore & get creative!
Reply all
Reply to author
Forward
0 new messages