Read out certain levels only
Michiel Spape
Michiel.Spape at nottingham.ac.uk
Fri May 7 10:25:10 UTC 2010
Hi Vera & Group,
I like that "Sudoku-effect"! In fact, I think I might have misstated that nested-lists are untrustworthy - in general, people are much more prone to making errors than computers, and indeed, this to me is the main problem of nested lists. I do, however, use them all the time, myself, but usually not for my main 'triallist'.
Anyway, I'm sorry for the lack of help I'm going to offer, I'm just not entirely clear on what you want to achieve. Do you want to run certain conditions based on a trigger readout from TMS (err, I never worked with TMS)? Does that mean certain stimuli? Certain different orderings?
Lacking a clear idea on what exactly it is you want, I can help with certain specifics:
"If trigger 1 then PLEASE take only line 1"
...
You mean, of a list, right?
This can be achieved in a quick and dirty way by adding a bit of inline that sets all weights of a list to 0 except line 1. From E-basic help, and adjusted
Dim nLevel As Integer 'originally Long, but how many people really have lists that have more than 32768 levels?
For nLevel = 1 To List1.Size
If nLevel = 1 then List1.SetWeight nLevel, 1 else List1.SetWeight nLevel, 0
Next 'nLevel
List1.Reset
You can even put this List1 in unreferenced objects (i.e. your garbage can) and run it on request (List1.Run).
Hope any of this helps (I might be way off in understanding your problem),
Mich
Michiel Spapé
Research Fellow
Perception & Action group
University of Nottingham
School of Psychology
-----Original Message-----
From: e-prime at googlegroups.com [mailto:e-prime at googlegroups.com] On Behalf Of Vera
Sent: 07 May 2010 08:24
To: E-Prime
Subject: Re: Read out certain levels only
Ok guys, just to let you know that I am really trying here, a small
update:
Yesterday I tried to solve this problem with nested lists (knowing
that nested lists very quickly get very complicated and taking into
account that Michiel pointed out in his E-Prime doc that the random
doesn't seem to be completely "trustable") but the problem is that I
get to the same thing: I would basically have two lines, 1 pointing to
the condition for trigger 1 and another one pointing to trigger 2. But
then, how to access this line??
I need to figure out some way to tell E-Prime:
If trigger 1 then PLEASE take only line 1
(Or in the old solution, which I very much preferred, because it was
much cleaner - nested lists do have a high "sudoku-effect"):
If trigger 1 PLEASE take any of the lines for which attribute.trigger1
= 1
Down to the beginning again, I don't know how to solve this. :-( Any
ideas are very welcome. :-)
Greetings, Vera
On May 6, 2:31 pm, Vera <vera.d... at googlemail.com> wrote:
> Ok, got a bit further (but it's still not working fine):
>
> I added this inline:
>
> If (NewTriggerValue > 0) AND (NewTriggerValue < 7) Then
> Set DesignList.Deletion = PickOne(c.GetAttrib("TriggerPos") = "1")
> ElseIf NewTriggerValue = 0 Then
> Set DesignList.Deletion = PickOne(c.GetAttrib("TriggerPos") = "0")
> End If
>
> It's based on something David once wrote concerning counterbalancing
> (it would have been so much easier if E-Prime could just
> counterbalance for any attribute and not just Group, Subject and
> Session). I am actually hoping to tell E-Prime with this, that it
> needs to take any of the 18 levels which has either 1 or 0 in the
> TriggerPos attribute. It doesn't seem to work though. :-(
>
> E-Prime now only runs 1 trials (instead of 36). Any hints on that?
>
> Grrr, I know I am not very far from a solution...
>
> Greetings, Vera
>
> On May 6, 11:17 am, Vera <vera.d... at googlemail.com> wrote:
>
>
>
> > Dear forum members,
>
> > I already got some very useful help here and as I am now running into
> > a new problem with E-Prime, I will see if you can help me out (again).
> > I did all my homework: yes I looked at the reference guide, getting
> > started guide, all other documents concerning E-Prime, yes I combed
> > through this forum, yes I combed through the PST-forum. :-)
>
> > So here's the problem:
>
> > I created a list of conditions (and all that has been working fine
> > until now) and as we are moving on to another experimental setup, it
> > is now very important that half of the conditions appear on one type
> > of stimulus and the other half of conditions appear on another type of
> > stimulus.
>
> > To be more clear:
>
> > On Trigger1 I want only a certain type of the 18 conditions I have to
> > be executed.
> > On Trigger2 I want the other 18 conditions (another type) to be
> > executed.
>
> > I know I could be able to do this over nested lists (probably), but it
> > would take a lot of time too, as then "big surgery" has to be done on
> > my program. ;-)
>
> > So I figured that there should be some way to add a few lines of code,
> > which tell E-Prime that it should only use a certain level in a
> > certain condition.
>
> > I wrote:
>
> > If (NewTriggerValue > 0) AND (NewTriggerValue < 7) Then
> > c.getAttrib("TriggerPos") = 1
> > ElseIf NewTriggerValue = 0 Then
> > c.getAttrib("TriggerPos") = 0
> > End If
>
> > TriggerPos = the type of trigger (1 or 0) which I added as an
> > attribute in my designlist.
> > When I try to execute, Eprime tells me "Can't Assign to Constant"
>
> > Ok. But what do I need to add then in order to make it work? Basically
> > I want Eprime in certain conditions only to use the levels that have
> > "1" in the attribute "TriggerPos".
>
> > I know that I am not very far from a solution. Any help would be very
> > much appreciated. :-)
>
> > Vera
>
> > --
> > 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 athttp://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 athttp://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.
This message has been checked for viruses but the contents of an attachment
may still contain software viruses which could damage your computer system:
you are advised to perform your own checks. Email communications with the
University of Nottingham may be monitored as permitted by UK legislation.
--
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