List counterbalancing by sujbect
David McFarlane
mcfarla9 at msu.edu
Mon Mar 12 19:57:02 UTC 2012
Rachel,
First, as you have found, it is not simple to do what you want here
in E-Prime. If anybody knows of another platform that handles this
better, then please let us know!
Second, the Counterbalance option in EP is misnamed. If you searched
the EP Google Group for "counterbalance" then you may come upon the
following thread where this gets
explained:
http://groups.google.com/group/e-prime/browse_thread/thread/26d2e1e83c6a09bb .
Now, if you want to run several different samples from a stimulus or
trial List, you cannot just put that as a nested List in your main
BlockList, because that will pick just one row from the nested List
and pass just that down to the trials at the next level.
David Vinson shows one perfectly good way to handle this by setting
BlockList to Counterbalance and using separate BlockProcs, each using
a different TrialList to run the same TrialProc, e.g.,
Experiment Object
SessionProc
BlockList
BlockProc1
TrialList1
TrialProc
BlockProc2
TrialList2
TrialProc
BlockProc3 ...
As an experienced and dedicated programmer (as opposed to an ordinary
researcher), I dislike making several Procedures that all do the same
thing only with different content, I prefer to have a single
Procedure and then pass it changing content as needed. So here is
how I would do that using nested Lists.
My structure would look more like this:
Experiment Object
SessionProc
BlockList
BlockProc
TrialList
(?) [StimList]
TrialProc
Unreferenced E-Objects
StimList1
StimList2
...
Each StimList (under Unreferenced E-Objects) holds the list of
stimuli for one counterbalanced block. In BlockList I add one
attribute named "StimList", and for each block I enter the name of
the StimList for that block, i.e., "StimList1", "StimList2", etc.
TrialList has just one row, and in Nested I put "[StimList]". Then I
either set Weight to the number of trials (e.g., 8), or set the list
to Exit after the proper number of samples (e.g., 8). With that
done, TrialList will take samples from the StimList named by
[StimList] and use those for the trials run by
TrialProc. Follow? This technique has also been discussed somewhat
before at
http://groups.google.com/group/e-prime/browse_thread/thread/9519542730f4b242 .
OK, so maybe that is no simpler than what David Vinson showed, but it
does show that there is more than one way to skin this cat, and you
may find it a suitable strategy for some cases.
---
David McFarlane
E-Prime training
online: http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter: @EPrimeMaster (twitter.com/EPrimeMaster)
At 3/12/2012 06:12 AM Monday, David Vinson wrote:
>Hi Rachel,
>
>I approached this problem a different way, not using nested lists.
>
>The MasterList contains 8 lines, each running a different procedure
>(one for each of the 8 subject groups), e.g.
>RunProc1
>RunProc2
>RunProc3
>...
>
>(and in its simplest form no other information is specified in the MasterList)
>
>Each of these RunProc* procedures just contains a single List (akin
>to your Group1List, Group2List, Group3List...) all of which contain
>the full list of items for that Group, and call the same
>experimental trial procedure. These are set to exit after all
>samples in the list (the number of items).
>
>The master list is set to Exit after 1 sample, and Offset - because
>only one entry per subject is selected, there's no need to worry
>about what order the master list is sampled in (you control this by
>your assignment of subject number).
>
>this way each subjects sees only one entry in the Master list, and
>all items in their respective Group list.
>
>hope this helps!
>-david
>
>
>
>On 11/03/2012 22:34, Rachel wrote:
>>Hi All,
>>
>>I have an extremely simple question that I know must be possible to
>>do, but I simply cannot get it to work. I've read a jillion old forum
>>posts, but it seems like everyone is asking a much more complicated
>>question than I have, and so I can't find just a basic template to
>>work off of.
>>
>>I have 8 subject groups, each with its own list of video stimuli. I
>>want each subject to see all of the video stimuli from exactly one of
>>these lists. I created a master list (GroupList) with 8 nested levels
>>(Group1, Group2, ..., Group8) and in the master list, I set Selection
>>to Counterbalance by Subject. However, instead of playing every video
>>in the appropriate Group# list, it plays exactly 1 video and then
>>exits. What is going on? How do I make it play every single trial in
>>that one group list, and cycle through and choose a different group
>>list for each new subject?
>>
>>For example, Subject1 should see all 118 videos in the Group1 list (in
>>a random order); Subject2 should see all 118 videos in the Group2
>>list; Subject3 should see all 118 videos in the Group3 list, and so on
>>through all 8 Group# lists.
>>
>>This is really time-critical, especially since this seems to be
>>exactly what the Counterbalance option should do, so as prompt a
>>response as possible would be really appreciated.
>>
>>Thanks,
>>Rachel
>
>--
>David Vinson, Ph.D.
>Senior Postdoctoral Researcher
>Cognitive, Perceptual and Brain Sciences Research Department
>University College London
>26 Bedford Way, London WC1H 0AP
>Tel +44 (0)20 7679 5311 (UCL internal ext. 25311)
>
>
>--
>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.
--
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