Problem with per-trial weight adjustment using setweight
LaurensK90
ltk1 at live.nl
Thu Apr 3 22:09:46 UTC 2014
In their latest e-mail on this subject, PST support told me that "Generally,
a List cannot be reset while it is running, though it may be that your
experiment falls into a small set of cases when it will work."
I think I will have to check whether the other properties of the experiment
are also working as intended, but as far as I could tell, nothing out of
the ordinary was happening. I did also manage to solve the problem of
avoiding more than five consecutive repeats: as I suspected, the problem
was that the script declares the variables anew at each trial, which resets
them to zero and prevents the counter variables from remembering their
values. When I declare them as global variables in the userscript, it works
as intended. I did have to increase the weights from 3 to 6 to compensate
for the decrease in repeats, but now it does approximate a 1:3 switch ratio.
I will upload the task here soon if you or anyone else want to have a look
at it. For now I am just glad that it works the way I expected it to work!
On Thursday, April 3, 2014 6:16:29 PM UTC+2, McFarlane, David wrote:
>
> Well, you do well to not take my word for any of this (nor the word
> of PST staff or documentation) and to test everything for
> yourself. So I am glad that I brought this up, and that you tested
> my statement and reported back. Looks like my understanding of
> E-Prime is a little off again.
>
> I had pretty much assumed that when you run a List (List.Run), it
> looks at all the settings activated with the last List.Reset, and
> then runs using those just settings, goodness know what doing a
> List.Reset during the run would do (terminate the run? be
> ignored?). But I confess I never tested that. Until I do that, your
> empirical result trumps my assumption. Perhaps a List.Rest can
> construct an Order object for running the List on the fly, in which
> case doing a List.Reset during the run can affect the rest of the run
> in a nicely controlled way such as you found. Might be worth
> prodding the PST folks and see if they could reveal more about how
> List.Reset and List.Run really work.
>
> So if your tests show that everything works to your satisfaction,
> then you may as well proceed. And this opens up more possibilities
> (what happens if you change List.ResetCondition or
> TerminateCondition, etc., during the run?)...
>
> Thanks,
> -- David McFarlane
>
>
> At 4/2/2014 11:42 AM Wednesday, LaurensK90 wrote:
> >You mentioned not to use SetWeight while the list is running... but
> >that's actually exactly what I've been doing. I received a reply
> >from PST support saying that this was impossible, but after
> >following your suggestion of adding List.Reset, the switch ratio
> >works exactly as intended. They also sent me an example design
> >(attached) using multiple lists with different weights, like you
> >suggested, but since this is not able to make a trial selection
> >based on the previous trial, it results in a switch ratio of 1:3.5
> >instead of 1:3. I know how to solve this, but again, it involves
> >using SetWeight to set the weight of the inappropriate list to zero
> >while it's running.
> >
> >Does List.Reset have especially disruptive effects on timing, or
> >does running it on every trial have other negative effects I'm not
> >aware of? I can see why this method is a bit unorthodox, but since
> >it works, I feel like I need a very good reason not to use it.
> >
> >The cheap solution is probably a good option, but I'd still like to
> >understand why this is so difficult.
> >
> >On Tuesday, April 1, 2014 4:58:48 PM UTC+2, McFarlane, David wrote:
> >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/46005a30-60dd-4d17-8628-32bdaac21ba5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20140403/2e42b335/attachment.htm>
More information about the Eprime
mailing list