presenting words (in random order) from 2 lists on 1 screen

liwenna liwenna at gmail.com
Thu Aug 5 09:18:48 UTC 2010


Hi Karl,

I think the problem that you describe is somewhat similar to tasks
that I made and that I solved in a somewhat detourish way... but I am
not entirely sure...

The three emotions you mention are emotional words? Then should it be
so that in each screen you see 42 words? For instance 14x the same
positive words + 14x the same neutral word + 14x the same negative
word? Or should it be several different positive, negative and neutral
words? Or only three words (1 pos, 1 neg and 1 neut) that appear in 3
out of 42 random locations? Or should each of the 42 locations get
'coupled' with one type of stimulus and should each trial show 1 word
at a time?

I know think you need the latest option, right? With several diferent
pos neg and neutral words, but for each location the valence of the
word is always the same?

So what you need is that each time one specific location is 'selected'
a word of the same valence is selected. In order to do this you would
pair up two attributes (position and wordvalence) within one list.
But... if you'd do location-valence pairings will be the same for each
subject, and this is not what you want. Right? So you'd have to
establish the pairings between location and valence within each run of
e-prime so that it is random and 'new' for each new subject.

Now imagine/create the following: you could divide your single
wordslist into three separate lists: neutwords, poswords and negwords.
In your locationslist (42 levels) you could make it so that each level
has only one out of three wordlists nested into it. If all three
wordlists contain an attribute called word that is refered to by your
slide ( [word] ) then for each level of the locationslist (i.e. for
each specific location) the slide would always take a word from the
attribute word in the wordslist (pos neg or neutral) that is nested
into that specific location's level.

That's all nice and great but this way the pairings would always be
the same on each run (= for each subject). Here comes the trick to
randomly nest the three different lists into the locationslist.

Create an inline at your main procedure; and place it somewhere before
the locationslist.

***********
dim randomlist(41) as string
dim n as integer
dim m as integer

for n = 0  to 13
randomlist(n), poswords
next n

for n = 14 to 27
randomlist(n), negwords
next n

for n = 28 to 41
randomlist(n), neutwords
next n

randomizearray randomlist

for m = 1 to 42
locationslist.setattrib m, nested, randomlist(n)
next m
*********

so what does this do?? First it creates an array called randomlist
that contains 42 levels (0 is a level too... hence 41 is between
brackets so that it gets levels 0 - 41 = 42 levels). This array
basically is a list, that you can fill. That's the next step. Levels 0
- 13 get the value 'poswords' (= the name of one of your wordlists).
The next 14 levels (14-27) get the value negwords and the last 14 the
value neutwords. The next command (randomizearray) randomizes  the
content of the array. Now level 0 may no longer contain the value
poswords, but could contain negwords or neutwords, the same goes for
level 1 of the array etc etc. The array still contains 14x poswords,
14x negwords and 14x neutwords, but the order in which these values
are distributed over the levels of the array is randomized.
Lastly you fill the attribute 'nested' of the locationslist with the
value of the array. This is done 42 times (for m = 1 to 42). In this
line of code it is assumed that your locationslist is called
locationslist, change if otherwise :). It starts with m=1: it fills
the attribute nested of the first (mth) level of the locationslist
with the first (mth) value of the array randomlist. Then it continues
with m = 2 and fills the attribute nested of the second level of the
locationslist with the second value of the array randomlist. It goes
on untill m = 42.

I composed the above more or less top of my head, so it's not tested
and there might be typoes. But I think it should work, only thing I am
a bit insecure about is that the line of code that fills the
attribute, definitely works well for 'user created attributes' whereas
the attribute 'nested' is automatically created and might behave
different, but I don't think it will.

You might btw add an attribute called 'valence' to your locationslist
and include something like this:
for m = 1 to 42
locationslist.setattrib m, valence, randomlist(n)
next m

to the end of your code so that your outputfile will have an attribute
(valence) that shows you right away wich nested list was used in each
trial.


So... hope this is indeed what you need and that it helps you.

If your problem was different from what I understood now... the
solution is still somewhere in this use of randomized arrays to create
pairings between locations and valence. At least... that's how I solve
this type of problems. If someone knows an easier way, i'd love to
hear it too :)

Best,

AW


On Aug 4, 8:33 pm, kspoons <karl.szpu... at gmail.com> wrote:
> Hello,
>
> My issue is as follows. I have one list of 42 places and a second list
> of 3 emotions (positive, negative, neutral). I want to randomly pair
> each unique location with one of three emotions, so that participants
> see each location paired with one emotion on the computer screen at a
> time. How do I get eprime to do this? My first thought was to Nest my
> materials into two lists, but that does not seem to be working.
>
> Any help here would be very much appreciated.
>
> Thank you.

-- 
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