Millisecond Forums

selecting pool of items

https://forums.millisecond.com/Topic29729.aspx

By juliane_d - 9/20/2020

HI there,

I am sure this has been asked before, but I cannot find it anywhere in this forum...:

I would like to implement a selection procedure of a random subset of stimuli to be used in several types of trials and two blocks throughout one experiment (each participant receives a fixed set of 10 randomly chosen stimuli out of a pool of 20 stimuli - to be used in different trials). I started with a list element but it only selects one item instead of a pool of 10...
Any idea what I am getting wrong?

<list testlist>
/ items = ("stimulus1", "stimulus2", "stimulus3", "stimulus4", "stimulus5", "stimulus6", "stimulus7", "stimulus8", "stimulus9", "stimulus10",
"stimulus11", "stimulus12", "stimulus13", "stimulus14", "stimulus15", "stimulus16", "stimulus17", "stimulus18", "stimulus19", "stimulus20")
/ poolsize = 10
/ selectionrate = experiment
/ selectionmode = random
/ replace = false
</list>

<text testitems>
/ items = ("stimulus1", "stimulus2", "stimulus3", "stimulus4", "stimulus5", "stimulus6", "stimulus7", "stimulus8", "stimulus9", "stimulus10",
"stimulus11", "stimulus12", "stimulus13", "stimulus14", "stimulus15", "stimulus16", "stimulus17", "stimulus18", "stimulus19", "stimulus20")
/ select = noreplacenorepeat
/ select = testlist
/ position = (50,50)
</text>

Thanks for any hint...
best,
juliane

By Dave - 9/21/2020

juliane_d - 9/20/2020
HI there,

I am sure this has been asked before, but I cannot find it anywhere in this forum...:

I would like to implement a selection procedure of a random subset of stimuli to be used in several types of trials and two blocks throughout one experiment (each participant receives a fixed set of 10 randomly chosen stimuli out of a pool of 20 stimuli - to be used in different trials). I started with a list element but it only selects one item instead of a pool of 10...
Any idea what I am getting wrong?

<list testlist>
/ items = ("stimulus1", "stimulus2", "stimulus3", "stimulus4", "stimulus5", "stimulus6", "stimulus7", "stimulus8", "stimulus9", "stimulus10",
"stimulus11", "stimulus12", "stimulus13", "stimulus14", "stimulus15", "stimulus16", "stimulus17", "stimulus18", "stimulus19", "stimulus20")
/ poolsize = 10
/ selectionrate = experiment
/ selectionmode = random
/ replace = false
</list>

<text testitems>
/ items = ("stimulus1", "stimulus2", "stimulus3", "stimulus4", "stimulus5", "stimulus6", "stimulus7", "stimulus8", "stimulus9", "stimulus10",
"stimulus11", "stimulus12", "stimulus13", "stimulus14", "stimulus15", "stimulus16", "stimulus17", "stimulus18", "stimulus19", "stimulus20")
/ select = noreplacenorepeat
/ select = testlist
/ position = (50,50)
</text>

Thanks for any hint...
best,
juliane


You do

<list allitems>
/ poolsize = 20
/ selectionrate = always
</list>

<list selecteditems>
</list>

<expt>
/ onexptbegin = [
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
]
...
</expt>

with

<text testitems>
/ items = ("stimulus1", "stimulus2", "stimulus3", "stimulus4", "stimulus5", "stimulus6", "stimulus7", "stimulus8", "stimulus9", "stimulus10",
"stimulus11", "stimulus12", "stimulus13", "stimulus14", "stimulus15", "stimulus16", "stimulus17", "stimulus18", "stimulus19", "stimulus20")
/ select = list.selecteditems.nextvalue
/ position = (50,50)
</text>


By juliane_d - 9/21/2020

Dave - 9/21/2020
juliane_d - 9/20/2020
HI there,

I am sure this has been asked before, but I cannot find it anywhere in this forum...:

I would like to implement a selection procedure of a random subset of stimuli to be used in several types of trials and two blocks throughout one experiment (each participant receives a fixed set of 10 randomly chosen stimuli out of a pool of 20 stimuli - to be used in different trials). I started with a list element but it only selects one item instead of a pool of 10...
Any idea what I am getting wrong?

<list testlist>
/ items = ("stimulus1", "stimulus2", "stimulus3", "stimulus4", "stimulus5", "stimulus6", "stimulus7", "stimulus8", "stimulus9", "stimulus10",
"stimulus11", "stimulus12", "stimulus13", "stimulus14", "stimulus15", "stimulus16", "stimulus17", "stimulus18", "stimulus19", "stimulus20")
/ poolsize = 10
/ selectionrate = experiment
/ selectionmode = random
/ replace = false
</list>

<text testitems>
/ items = ("stimulus1", "stimulus2", "stimulus3", "stimulus4", "stimulus5", "stimulus6", "stimulus7", "stimulus8", "stimulus9", "stimulus10",
"stimulus11", "stimulus12", "stimulus13", "stimulus14", "stimulus15", "stimulus16", "stimulus17", "stimulus18", "stimulus19", "stimulus20")
/ select = noreplacenorepeat
/ select = testlist
/ position = (50,50)
</text>

Thanks for any hint...
best,
juliane


You do

<list allitems>
/ poolsize = 20
/ selectionrate = always
</list>

<list selecteditems>
</list>

<expt>
/ onexptbegin = [
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
    list.selecteditems.appenditem(list.allitems.nextindex);
]
...
</expt>

with

<text testitems>
/ items = ("stimulus1", "stimulus2", "stimulus3", "stimulus4", "stimulus5", "stimulus6", "stimulus7", "stimulus8", "stimulus9", "stimulus10",
"stimulus11", "stimulus12", "stimulus13", "stimulus14", "stimulus15", "stimulus16", "stimulus17", "stimulus18", "stimulus19", "stimulus20")
/ select = list.selecteditems.nextvalue
/ position = (50,50)
</text>



works nicely, thanks so much!!!