how to randomize inside a block?


Author
Message
uni-student92084
uni-student92084
Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)
Group: Forum Members
Posts: 57, Visits: 172
Dave - 2/4/2020
uni-student92084 - 2/4/2020
Dave - 2/4/2020
uni-student92084 - 2/4/2020
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 

<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You're not randomizing anything here. For trials 1-40 you're sampling one element -- <trial RepB>. For trials 40-80 you're sampling another single element, <trial DemB>.

It's the same as saying

/trials = [1-40 = RepB; 41-80 = DemB]

There's nothing to sample randomly if there's only one element.

Further, notice that sampling *trials* at the block-level, and sampling *stimuli* at the trial-level are two completely separate and distinct things.

So then if I wanted to randomize the selection of trials on the block-level, how would I go about doing that? I don't want 40 trials and RepB then 4o trials of DemB, I would like both 40 to be mixed in/randomly picked.

I answered that here https://www.millisecond.com/forums/FindPost28218.aspx

okay, thanks again Dave!
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
uni-student92084 - 2/4/2020
Dave - 2/4/2020
uni-student92084 - 2/4/2020
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 

<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You're not randomizing anything here. For trials 1-40 you're sampling one element -- <trial RepB>. For trials 40-80 you're sampling another single element, <trial DemB>.

It's the same as saying

/trials = [1-40 = RepB; 41-80 = DemB]

There's nothing to sample randomly if there's only one element.

Further, notice that sampling *trials* at the block-level, and sampling *stimuli* at the trial-level are two completely separate and distinct things.

So then if I wanted to randomize the selection of trials on the block-level, how would I go about doing that? I don't want 40 trials and RepB then 4o trials of DemB, I would like both 40 to be mixed in/randomly picked.

I answered that here https://www.millisecond.com/forums/FindPost28218.aspx
uni-student92084
uni-student92084
Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)
Group: Forum Members
Posts: 57, Visits: 172
Dave - 2/4/2020
uni-student92084 - 2/4/2020
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 

<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You're not randomizing anything here. For trials 1-40 you're sampling one element -- <trial RepB>. For trials 40-80 you're sampling another single element, <trial DemB>.

It's the same as saying

/trials = [1-40 = RepB; 41-80 = DemB]

There's nothing to sample randomly if there's only one element.

Further, notice that sampling *trials* at the block-level, and sampling *stimuli* at the trial-level are two completely separate and distinct things.

So then if I wanted to randomize the selection of trials on the block-level, how would I go about doing that? I don't want 40 trials and RepB then 4o trials of DemB, I would like both 40 to be mixed in/randomly picked.
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
uni-student92084 - 2/4/2020
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 

<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You're not randomizing anything here. For trials 1-40 you're sampling one element -- <trial RepB>. For trials 40-80 you're sampling another single element, <trial DemB>.

It's the same as saying

/trials = [1-40 = RepB; 41-80 = DemB]

There's nothing to sample randomly if there's only one element.

Further, notice that sampling *trials* at the block-level, and sampling *stimuli* at the trial-level are two completely separate and distinct things.

uni-student92084
uni-student92084
Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)
Group: Forum Members
Posts: 57, Visits: 172
Dave - 2/3/2020
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.

But I already have "replace" in my block, shouldn't that already randomize it while replacing the values. Please let me know if I am thinking about this incorrectly. 
Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 13K, Visits: 104K
uni-student92084 - 2/3/2020
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>

You simply do

<block Demplus>
/trials = [1-80 = noreplace( RepB, DemB)]
</block>

which will give you 40 RepB trials and 40 DemB trials in random order.
uni-student92084
uni-student92084
Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)Partner Member (722 reputation)
Group: Forum Members
Posts: 57, Visits: 172
Hello!
For my study, I am testing whether people have a preference for the Republican or the Democratic political party. I am running political honestly scores across the screen, for both parties. My plan is to have 80 trials for each participant where on 1/2 of trials the democrat candidate is more honest (Demplus) and the other 1/2 the republican candidate is more honest (Repplus). I want these to be fully randomized across trials such that each participant essentially has a different order of trials where Dem is more honest and Rep is more honest.
However, currently, my script doesn't accomplish this as I instead have 40 trails with Republicans scores and then 40 Democratic scores. Is there a way that I can randomize how each trial appears on the screen within a block? 


<item Demplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Demminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>

<item Repplus>
/1 = "score1+"
/2 = "score2+"
/3 = "score3+"
</item>

<item Repminus>
/1 = "score1-"
/2 = "score2-"
/3 = "score3-"
</item>


<text Demplus1>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus2>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<text Demplus3>
/items = Demplus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demplusitems.nextindex
</text>

<list Demplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>





<text Demminus1>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus2>
/items = Demminus
/txcolor = (blue)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<text Demminus3>
/items = Demminus
/txcolor = (blue)
/txbgcolor = (white)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Demminusitems.nextindex
</text>

<list Demminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repplus1>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus2>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<text Repplus3>
/items = Repplus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/ select = list.Repplusitems.nextindex
</text>

<list Repplusitems>
/ poolsize = 3
/ selectionrate = always
/ replace =true
</list>




<text Repminus1>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus2>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<text Repminus3>
/items = Repminus
/txcolor = (red)
/animation = path (5000, 1, 0%, 90%, 100%, 90%)
/select = list.Repminusitems.nextindex
</text>

<list Repminusitems>
/ poolsize = 3
/ selectionrate = always
/ replace = true
</list>




<list Demplus>
/items = (text.Demplus1, text.Demplus2, text.Demplus3, text.Repminus1, text.Repminus2, text.Repminus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>


<list Repplus>
/items = (text.Demminus1,text.Demminus2,text.Demminus3, text.Repplus1,text.Repplus2, text.Repplus3)
/selectionrate =always
/selectionmode =random
/replace = false
</list>




<trial DemB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 0);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 1000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 2000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 3000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 4000);
  trial.DemB.insertstimulustime(list.Demplus.nextvalue, 5000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 6000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 7000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 8000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 9000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 10000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 11000);
    trial.DemB.insertstimulustime(list.Demplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.DemB.resetstimulusframes(7000)]
</trial>


<trial RepB>
/ validresponse = ("E", "I")
/ correctresponse = ("E")
/ beginresponsetime = 0
/ontrialbegin = [
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 0);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 1000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 2000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 3000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 4000);
  trial.RepB.insertstimulustime(list.Repplus.nextvalue, 5000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 6000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 7000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 8000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 9000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 10000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 11000);
    trial.RepB.insertstimulustime(list.Repplus.nextvalue, 12000);]
/ validresponse = (57)
/ posttrialpause = 500
/ontrialend= [trial.RepB.resetstimulusframes(7000)]
</trial>


<block Demplus>
/trials = [1-40 = replace( RepB); 41-80 = replace (DemB)]
</block>
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search