Problem in randomization

Tony Zuccolotto anthony.zuccolotto at pstnet.com
Fri Apr 19 14:23:38 UTC 2002


Ice,

There is really no automatic way to tweak the randomization into a form
which you like.

You could limit the chance of runs by changing the weight on the
individual cell types and increasing the number of cycles accordingly
until you get 100, e.g.

Assuming you have 1 Cycle of 100 Samples (=100 samples) defined as
Weight	Condition
25		red
25		blue
25		green
25		yellow

You could redefine this as 5 Cycles of 20 Samples (=100 Samples) defined
as
Weight	Condition
5		red
5		blue
5		green
5		yellow

This would theoretically reduce the maximum run of a single condition to
5 (but in practice it is likely to be even less than that).  Note there
is an exception at the re-shuffle points, e.g. if you had 2 blue trials
as trials 19 & 20 then the list was reshuffled for the next cycle you
could start out with blue trials again...

Another way to set this up is to allow E-Prime to do an initial
shuffling for you and then in the trial proc just save the exemplars in
an array (rather than presenting them to the subject).  Then you write
script logic to cycle through the array and swap individual locations in
the array as needed (because you are just swapping you can easily assure
that the Ns remain balanced in each condition).

Once you have an array with a "valid" randomization then you can either
build a string to pass to an ExplicitOrder object and set a List to use
the ExplicitOrder (see the E-Basic Help for an example), OR you could
dynamically write out a tab-delimited file of the entire set of trials
and have another List read in the exemplars at run-time and just run
them in sequential order.

If you want to take more trial by trial control of exemplar
sampling/filtering you can write script to save just the last N
conditions sampled in a global array/queue.  At the beginning of each
trial you use script to compare the current condition with those past.
If the condition is not valid (under whatever logic you decide to use)
then you just call "Exit Sub" in script.   For example to test for and
eliminate a single repeat...

	If c.GetAttrib("Condition") = g_strLastCondition Then
		Exit Sub
	Else
	   g_strLastCondition = c.GetAttrib("Condition")
	End IF

The Exit Sub call causes the current Procedure to return with no logging
occurring (e.g. you essentially skip the trial).

If you choose this algorithm then you must also set the number of cycles
on your list to a value higher than you would normally use (because you
are throwing away exemplars).   Because of this you also have to track
the number of trials yourself and cause the List to terminate when the
maximum number of trials is hit by calling ListName.Terminate.   The
other caveat of doing this is that you now also assume responsibility
for making sure you have a balanced N in each of your conditions, i.e.
E-Prime will just keep presenting trials, if you throw them away it
can't guarantee to get equal Ns in all conditions.

Hope that gives you some ideas.
Tony

*** DISCLAIMER: VIEWS EXPRESSED ARE MY OWN AND DO NOT NECESSARILY
REFLECT THOSE OF MY EMPLOYER ***
Anthony P. Zuccolotto
Vice President of Operations
Psychology Software Tools, Inc.
2050 Ardmore Boulevard
Suite 200
Pittsburgh, PA 15221-4610
Phone     412-271-5040
FAX       412-271-7077
Email     anthony.zuccolotto at pstnet.com
Internet  http://www.pstnet.com/



> -----Original Message-----
> From: Ice Tsui [mailto:icetsui at graduate.hku.hk]
> Sent: Friday, April 19, 2002 4:00 AM
> To: eprime at mail.talkbank.org
> Subject: Problem in randomization
> 
> 
> Hello,
> 
> I am a new user of the Eprime.  I have one question to ask about the 
> randomization in Eprime.  In my experiment, there are totally 
> 4 different 
> kinds of trials, combining together to form a block with 100 
> trials with each 
> kind of trials appear for 25 times.
> 
> I found that the randomized events sometimes repeat one kind 
> of trials too 
> frequently.  Is there any way to reduce the number of times 
> that one kind of 
> trial repeats sequentially?
> 
> Thank you very much!!
> 
> Best,
> Ice
> 
> ______________________________________________________________________
> Tsui Sum Yin Ice
> Mobile: 93221306
> Email: icetsui at graduate.hku.hk
> ______________________________________________________________________
> 
> 
> 



More information about the Eprime mailing list