By jdb - 2/23/2017
I have a question about item selection! I have two types of trials, call them "core" and "varying" trials:
<trial core> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivecore, negativecore)] / response = free </trial>
<trial varying1> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivevarying1, negativevarying1)] / response = free </trial>
<trial varying2> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivevarying2, negativevarying2)] / response = free </trial> The thing is that for each block, there should be 8 core trials for every 1 varying trial (there are 80 core items and 10 varying items). I tried using a list:
<list trials> /items = (trial.core, trialvarying1) /poolsize = 90 /selectionmode = random </list> Calling that list in a block doesn't wind up with the list doing anything – I end up with 45 core trials and 45 varying trials – not what I want. I thought about using /itemprobabilities = [.888888; .2222222] but that seems like it's not really what I mean to do. I could also potentially repeat the items in the list?
/items = (trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trialvarying1) Anyway, I've re-ran the experiment so many times at this point that I figured I would ask for help. Anyone have a solution for this? I realize that maybe the simplest solution is to just make separate word lists (not have a core, and instead just put it in each of the other word lists) but that didn't occur to me until after I had spent a while debugging and at this point I'm feeling stubborn. I guess I should add that I consulted this post, but haven't found it to help me find a solution.
|
By Dave - 2/23/2017
+xI have a question about item selection! I have two types of trials, call them "core" and "varying" trials: <trial core> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivecore, negativecore)] / response = free </trial>
<trial varying1> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivevarying1, negativevarying1)] / response = free </trial>
<trial varying2> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivevarying2, negativevarying2)] / response = free </trial> The thing is that for each block, there should be 8 core trials for every 1 varying trial (there are 80 core items and 10 varying items). I tried using a list: <list trials> /items = (trial.core, trialvarying1) /poolsize = 90 /selectionmode = random </list> Calling that list in a block doesn't wind up with the list doing anything – I end up with 45 core trials and 45 varying trials – not what I want. I thought about using /itemprobabilities = [.888888; .2222222] but that seems like it's not really what I mean to do. I could also potentially repeat the items in the list?
/items = (trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trialvarying1) Anyway, I've re-ran the experiment so many times at this point that I figured I would ask for help. Anyone have a solution for this? I realize that maybe the simplest solution is to just make separate word lists (not have a core, and instead just put it in each of the other word lists) but that didn't occur to me until after I had spent a while debugging and at this point I'm feeling stubborn. I guess I should add that I consulted this post, but haven't found it to help me find a solution.
A <list> with correctly specified /itemprobabilities is exactly what you should use:
<trial core> / trialduration = 50 </trial>
<trial varying> / trialduration = 50 </trial>
<block myblock> / trials = [1-90 = list.triallist] </block>
<list triallist> / items = (trial.core, trial.varying) / poolsize = 90 / itemprobabilities = [.88889; .11111] </list>
will result in 80 "core" trials and 10 "varying" trials in the <block>.
Alternatively, you can achieve the same result without resorting to a <list>. Simply enter trials in the desired 8:1 ratio into a standard noreplace() selection pool:
<block myblock> / trials = [1-90 = noreplace(core, core, core, core, core, core, core, core, varying)] </block>
|
By jdb - 2/24/2017
+x+xI have a question about item selection! I have two types of trials, call them "core" and "varying" trials: <trial core> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivecore, negativecore)] / response = free </trial>
<trial varying1> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivevarying1, negativevarying1)] / response = free </trial>
<trial varying2> / validresponse = ("1", "0") / correctresponse = ("1") / responseinterrupt = trial / stimulustimes = [0=noreplace(positivevarying2, negativevarying2)] / response = free </trial> The thing is that for each block, there should be 8 core trials for every 1 varying trial (there are 80 core items and 10 varying items). I tried using a list: <list trials> /items = (trial.core, trialvarying1) /poolsize = 90 /selectionmode = random </list> Calling that list in a block doesn't wind up with the list doing anything – I end up with 45 core trials and 45 varying trials – not what I want. I thought about using /itemprobabilities = [.888888; .2222222] but that seems like it's not really what I mean to do. I could also potentially repeat the items in the list?
/items = (trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trial.core, trialvarying1) Anyway, I've re-ran the experiment so many times at this point that I figured I would ask for help. Anyone have a solution for this? I realize that maybe the simplest solution is to just make separate word lists (not have a core, and instead just put it in each of the other word lists) but that didn't occur to me until after I had spent a while debugging and at this point I'm feeling stubborn. I guess I should add that I consulted this post, but haven't found it to help me find a solution.
A <list> with correctly specified /itemprobabilities is exactly what you should use: <trial core> / trialduration = 50 </trial> <trial varying> / trialduration = 50 </trial> <block myblock> / trials = [1-90 = list.triallist] </block> <list triallist> / items = (trial.core, trial.varying) / poolsize = 90 / itemprobabilities = [.88889; .11111]</list> will result in 80 "core" trials and 10 "varying" trials in the <block>. Alternatively, you can achieve the same result without resorting to a <list>. Simply enter trials in the desired 8:1 ratio into a standard noreplace() selection pool: <block myblock> / trials = [1-90 = noreplace( core, core, core, core, core, core, core, core, varying)] </block> Right! Makes a lot of sense. I think I was hoping that there was some way of explicitly saying "don't start replacing from [the shorter item list] until the longer items run out" but it sounds like that's not possible. This way is straightforward.
|
|