Problem with per-trial weight adjustment using setweight

David McFarlane mcfarla9 at msu.edu
Tue Apr 1 14:58:48 UTC 2014


Well...  Implementing specific constraints on randomization at 
runtime gets very tricky, try searching for discussions using terms 
such as "random", "pseudorandom", "pseudo-random", "constrain", and 
"constraint".  Offhand, I feel very leery of any approach using 
List.SetWeight, and I especially hope that you do not try that while 
the List itself is running!

PST shows one time-honored (though crude) method for implementing 
on-the-fly randomization with contstraints in their "No Repeats on 
Consecutive Trials" examples on their website, and you might adapt 
that approach for your program.  That method, however, is a sort of 
nondeterministic "bogosort" (look that up on Wikipedia) which suffers 
several problems.

The cheap answer, which you will find in other discussions, is just 
to randomize everything before runtime outside of E-Prime.  Construct 
a "random" sequence that has the properties you seek, then implement 
that as a Sequential List in E-Prime.  If you want different random 
orders for different subjects, then construct a few more sequences 
outside of E-Prime, implement each of your sequences as a nested List 
(running in Sequential order), and then have E-Prime pick one of 
those nested Lists on each run (perhaps using a main List set to 
Counterbalance order).  Or, generate your sequence outside of E-Prime 
as a properly formatted .txt or .xml file, and then use List 
LoadMethod "File" to read in the sequence at runtime.

-- David McFarlane


At 4/1/2014 08:10 AM Tuesday, LaurensK90 wrote:
>Now that I have access to E-Basic help again I see that I was 
>mistaken about the function of List.Reset, and appending this to the 
>end of the script caused the experiment to create the appropriate 
>switch ratio. So thank you very much for that suggestion!
>
>However, my attempt at preventing the experiment from running more 
>than five consecutive trials of the same type is still not 
>effective. I suspect there's something wrong with the way I'm trying 
>to increment the counter variable, which leads to the second If 
>statement never getting triggered. Could that be the problem?

-- 
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+unsubscribe at googlegroups.com.
To post to this group, send email to e-prime at googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/e-prime/533ad43f.2327320a.4496.6a4fSMTPIN_ADDED_MISSING%40gmr-mx.google.com.
For more options, visit https://groups.google.com/d/optout.



More information about the Eprime mailing list