sequences and randomization in block of trials


Author
Message
reg_002
reg_002
Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)
Group: Forum Members
Posts: 13, Visits: 65
Hi, 

I would like to have 10 trials in which first participants see a picture for 6 seconds and then they complete 6 likert scale questions in random order about the picture before moving on to the next picture. 

Here's what I came up with: 
/ trials = [1-10 = noreplace(new1_p,noreplace(new1_p_qr1,new1_p_qr2,new1_p_qr3,new1_p_qs,new1_p_qo1,new1_p_qo2),(new2_p,noreplace(new2_p_qr1,new2_p_qr2,new2_p_qr3,new2_p_qs,new2_p_qo1,new2_p_qo2)),(new3_p,noreplace(new3_p_qr1,new3_p_qr2,new3_p_qr3,new3_p_qs,new3_p_qo1,new3_p_qo2)),(new4_p,noreplace(new4_p_qr1,new4_p_qr2,new4_p_qr3,new4_p_qs,new4_p_qo1,new4_p_qo2)),(new5_p,noreplace(new5_p_qr1,new5_p_qr2,new5_p_qr3,new5_p_qs,new5_p_qo1,new5_p_qo2)),(new6_p,noreplace(new6_p_qr1,new6_p_qr2,new6_p_qr3,new6_p_qs,new6_p_qo1,new6_p_qo2)),(new7_p,noreplace(new7_p_qr1,new7_p_qr2,new7_p_qr3,new7_p_qs,new7_p_qo1,new7_p_qo2)),(new8_p,noreplace(new8_p_qr1,new8_p_qr2,new8_p_qr3,new8_p_qs,new8_p_qo1,new8_p_qo2)),(new9_p,noreplace(new9_p_qr1,new9_p_qr2,new9_p_qr3,new9_p_qs,new9_p_qo1,new9_p_qo2)),(new10_p,noreplace(new10_p_qr1,new10_p_qr2,new10_p_qr3,new10_p_qs,new10_p_qo1,new10_p_qo2)))]

<trial new1_p>
/ stimulustimes = [0=new1_p;6000=space]
/ validresponse = (57)
/ beginresponsetime = 8500
</trial>

<likert new1_p_qr1>
/ stimulusframes=[1=questionreact1]
/ fontstyle = ("Arial", 11pt)
/ anchorwidth = 120
/ anchorwidth = 120
/ numpoints = 7
/ buttonvalues = [1="1"; 2="2"; 3="3"; 4="4"; 5="5"; 6="6"; 7="7"]
/ anchors=[1="not at all"; 2=""; 3=""; 4=""; 5=""; 6=""; 7="very much"]
/ position=(50, 80)
</likert>
...


This does not work for several reasons: 1. I probably need to specify 70 trials if I don't compound the trials
2. the error says: 'could not locate element 'noreplace'. 

Is there any way to make this work? 

Pieter



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
reg_002 - Friday, April 20, 2018
Hi, 

I would like to have 10 trials in which first participants see a picture for 6 seconds and then they complete 6 likert scale questions in random order about the picture before moving on to the next picture. 

Here's what I came up with: 
/ trials = [1-10 = noreplace(new1_p,noreplace(new1_p_qr1,new1_p_qr2,new1_p_qr3,new1_p_qs,new1_p_qo1,new1_p_qo2),(new2_p,noreplace(new2_p_qr1,new2_p_qr2,new2_p_qr3,new2_p_qs,new2_p_qo1,new2_p_qo2)),(new3_p,noreplace(new3_p_qr1,new3_p_qr2,new3_p_qr3,new3_p_qs,new3_p_qo1,new3_p_qo2)),(new4_p,noreplace(new4_p_qr1,new4_p_qr2,new4_p_qr3,new4_p_qs,new4_p_qo1,new4_p_qo2)),(new5_p,noreplace(new5_p_qr1,new5_p_qr2,new5_p_qr3,new5_p_qs,new5_p_qo1,new5_p_qo2)),(new6_p,noreplace(new6_p_qr1,new6_p_qr2,new6_p_qr3,new6_p_qs,new6_p_qo1,new6_p_qo2)),(new7_p,noreplace(new7_p_qr1,new7_p_qr2,new7_p_qr3,new7_p_qs,new7_p_qo1,new7_p_qo2)),(new8_p,noreplace(new8_p_qr1,new8_p_qr2,new8_p_qr3,new8_p_qs,new8_p_qo1,new8_p_qo2)),(new9_p,noreplace(new9_p_qr1,new9_p_qr2,new9_p_qr3,new9_p_qs,new9_p_qo1,new9_p_qo2)),(new10_p,noreplace(new10_p_qr1,new10_p_qr2,new10_p_qr3,new10_p_qs,new10_p_qo1,new10_p_qo2)))]

<trial new1_p>
/ stimulustimes = [0=new1_p;6000=space]
/ validresponse = (57)
/ beginresponsetime = 8500
</trial>

<likert new1_p_qr1>
/ stimulusframes=[1=questionreact1]
/ fontstyle = ("Arial", 11pt)
/ anchorwidth = 120
/ anchorwidth = 120
/ numpoints = 7
/ buttonvalues = [1="1"; 2="2"; 3="3"; 4="4"; 5="5"; 6="6"; 7="7"]
/ anchors=[1="not at all"; 2=""; 3=""; 4=""; 5=""; 6=""; 7="very much"]
/ position=(50, 80)
</likert>
...


This does not work for several reasons: 1. I probably need to specify 70 trials if I don't compound the trials
2. the error says: 'could not locate element 'noreplace'. 

Is there any way to make this work? 

Pieter



/ trials = [1-10 = noreplace(new1_p,noreplace(new1_p_qr1,new1_p_qr2,new1_p_qr3,new1_p_qs,new1_p_qo1,new1_p_qo2),(new2_p,noreplace(new2_p_qr1,new2_p_qr2,new2_p_qr3,new2_p_qs,new2_p_qo1,new2_p_qo2)),(new3_p,noreplace(new3_p_qr1,new3_p_qr2,new3_p_qr3,new3_p_qs,new3_p_qo1,new3_p_qo2)),(new4_p,noreplace(new4_p_qr1,new4_p_qr2,new4_p_qr3,new4_p_qs,new4_p_qo1,new4_p_qo2)),(new5_p,noreplace(new5_p_qr1,new5_p_qr2,new5_p_qr3,new5_p_qs,new5_p_qo1,new5_p_qo2)),(new6_p,noreplace(new6_p_qr1,new6_p_qr2,new6_p_qr3,new6_p_qs,new6_p_qo1,new6_p_qo2)),(new7_p,noreplace(new7_p_qr1,new7_p_qr2,new7_p_qr3,new7_p_qs,new7_p_qo1,new7_p_qo2)),(new8_p,noreplace(new8_p_qr1,new8_p_qr2,new8_p_qr3,new8_p_qs,new8_p_qo1,new8_p_qo2)),(new9_p,noreplace(new9_p_qr1,new9_p_qr2,new9_p_qr3,new9_p_qs,new9_p_qo1,new9_p_qo2)),(new10_p,noreplace(new10_p_qr1,new10_p_qr2,new10_p_qr3,new10_p_qs,new10_p_qo1,new10_p_qo2)))]

This is invalid syntax; you cannot "nest" various noreplace() selection pools like that.

What you'll want to do is select the newX_p trials in random order, and do the rest via /branch (put the associated likerts in a <list> each).

I also don't understand why you need a separate <trial> and <likert> elements for each of the 10 pictures. Why doesn't a single <trial> and six <likert>s suffice?

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
Dave - Friday, April 20, 2018
reg_002 - Friday, April 20, 2018
Hi, 

I would like to have 10 trials in which first participants see a picture for 6 seconds and then they complete 6 likert scale questions in random order about the picture before moving on to the next picture. 

Here's what I came up with: 
/ trials = [1-10 = noreplace(new1_p,noreplace(new1_p_qr1,new1_p_qr2,new1_p_qr3,new1_p_qs,new1_p_qo1,new1_p_qo2),(new2_p,noreplace(new2_p_qr1,new2_p_qr2,new2_p_qr3,new2_p_qs,new2_p_qo1,new2_p_qo2)),(new3_p,noreplace(new3_p_qr1,new3_p_qr2,new3_p_qr3,new3_p_qs,new3_p_qo1,new3_p_qo2)),(new4_p,noreplace(new4_p_qr1,new4_p_qr2,new4_p_qr3,new4_p_qs,new4_p_qo1,new4_p_qo2)),(new5_p,noreplace(new5_p_qr1,new5_p_qr2,new5_p_qr3,new5_p_qs,new5_p_qo1,new5_p_qo2)),(new6_p,noreplace(new6_p_qr1,new6_p_qr2,new6_p_qr3,new6_p_qs,new6_p_qo1,new6_p_qo2)),(new7_p,noreplace(new7_p_qr1,new7_p_qr2,new7_p_qr3,new7_p_qs,new7_p_qo1,new7_p_qo2)),(new8_p,noreplace(new8_p_qr1,new8_p_qr2,new8_p_qr3,new8_p_qs,new8_p_qo1,new8_p_qo2)),(new9_p,noreplace(new9_p_qr1,new9_p_qr2,new9_p_qr3,new9_p_qs,new9_p_qo1,new9_p_qo2)),(new10_p,noreplace(new10_p_qr1,new10_p_qr2,new10_p_qr3,new10_p_qs,new10_p_qo1,new10_p_qo2)))]

<trial new1_p>
/ stimulustimes = [0=new1_p;6000=space]
/ validresponse = (57)
/ beginresponsetime = 8500
</trial>

<likert new1_p_qr1>
/ stimulusframes=[1=questionreact1]
/ fontstyle = ("Arial", 11pt)
/ anchorwidth = 120
/ anchorwidth = 120
/ numpoints = 7
/ buttonvalues = [1="1"; 2="2"; 3="3"; 4="4"; 5="5"; 6="6"; 7="7"]
/ anchors=[1="not at all"; 2=""; 3=""; 4=""; 5=""; 6=""; 7="very much"]
/ position=(50, 80)
</likert>
...


This does not work for several reasons: 1. I probably need to specify 70 trials if I don't compound the trials
2. the error says: 'could not locate element 'noreplace'. 

Is there any way to make this work? 

Pieter



/ trials = [1-10 = noreplace(new1_p,noreplace(new1_p_qr1,new1_p_qr2,new1_p_qr3,new1_p_qs,new1_p_qo1,new1_p_qo2),(new2_p,noreplace(new2_p_qr1,new2_p_qr2,new2_p_qr3,new2_p_qs,new2_p_qo1,new2_p_qo2)),(new3_p,noreplace(new3_p_qr1,new3_p_qr2,new3_p_qr3,new3_p_qs,new3_p_qo1,new3_p_qo2)),(new4_p,noreplace(new4_p_qr1,new4_p_qr2,new4_p_qr3,new4_p_qs,new4_p_qo1,new4_p_qo2)),(new5_p,noreplace(new5_p_qr1,new5_p_qr2,new5_p_qr3,new5_p_qs,new5_p_qo1,new5_p_qo2)),(new6_p,noreplace(new6_p_qr1,new6_p_qr2,new6_p_qr3,new6_p_qs,new6_p_qo1,new6_p_qo2)),(new7_p,noreplace(new7_p_qr1,new7_p_qr2,new7_p_qr3,new7_p_qs,new7_p_qo1,new7_p_qo2)),(new8_p,noreplace(new8_p_qr1,new8_p_qr2,new8_p_qr3,new8_p_qs,new8_p_qo1,new8_p_qo2)),(new9_p,noreplace(new9_p_qr1,new9_p_qr2,new9_p_qr3,new9_p_qs,new9_p_qo1,new9_p_qo2)),(new10_p,noreplace(new10_p_qr1,new10_p_qr2,new10_p_qr3,new10_p_qs,new10_p_qo1,new10_p_qo2)))]

This is invalid syntax; you cannot "nest" various noreplace() selection pools like that.

What you'll want to do is select the newX_p trials in random order, and do the rest via /branch (put the associated likerts in a <list> each).

I also don't understand why you need a separate <trial> and <likert> elements for each of the 10 pictures. Why doesn't a single <trial> and six <likert>s suffice?

In a nutshell:

<values>
/ likertcount = 0
</values>


<block myblock>
/ trials = [1-10=showstim;]
</block>

<trial showstim>
/ ontrialbegin = [
    values.likertcount = 0;
]
/ stimulusframes = [1=stimulus]
/ validresponse = (0)
/ trialduration = 6000
/ branch = [
    list.likertlist.nextvalue
]
</trial>

<text stimulus>
/ items = stimuli
/ select = noreplace
</text>

<item stimuli>
/ 1 = "stim 01"
/ 2 = "stim 02"
/ 3 = "stim 03"
/ 4 = "stim 04"
/ 5 = "stim 05"
/ 6 = "stim 06"
/ 7 = "stim 07"
/ 8 = "stim 08"
/ 9 = "stim 09"
/ 10 = "stim 10"
</item>

<list likertlist>
/ items = (likert.q_a, likert.q_b, likert.q_c, likert.q_d, likert.q_e, likert.q_f)
</list>

<likert q_a>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_b>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_c>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_d>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_e>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_f>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<text mytext>
/ items = ("<%script.currenttrial%>")
/ position = (50%, 40%)
</text>



reg_002
reg_002
Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)Partner Member (709 reputation)
Group: Forum Members
Posts: 13, Visits: 65
Dave - Friday, April 20, 2018
Dave - Friday, April 20, 2018
reg_002 - Friday, April 20, 2018
Hi, 

I would like to have 10 trials in which first participants see a picture for 6 seconds and then they complete 6 likert scale questions in random order about the picture before moving on to the next picture. 

Here's what I came up with: 
/ trials = [1-10 = noreplace(new1_p,noreplace(new1_p_qr1,new1_p_qr2,new1_p_qr3,new1_p_qs,new1_p_qo1,new1_p_qo2),(new2_p,noreplace(new2_p_qr1,new2_p_qr2,new2_p_qr3,new2_p_qs,new2_p_qo1,new2_p_qo2)),(new3_p,noreplace(new3_p_qr1,new3_p_qr2,new3_p_qr3,new3_p_qs,new3_p_qo1,new3_p_qo2)),(new4_p,noreplace(new4_p_qr1,new4_p_qr2,new4_p_qr3,new4_p_qs,new4_p_qo1,new4_p_qo2)),(new5_p,noreplace(new5_p_qr1,new5_p_qr2,new5_p_qr3,new5_p_qs,new5_p_qo1,new5_p_qo2)),(new6_p,noreplace(new6_p_qr1,new6_p_qr2,new6_p_qr3,new6_p_qs,new6_p_qo1,new6_p_qo2)),(new7_p,noreplace(new7_p_qr1,new7_p_qr2,new7_p_qr3,new7_p_qs,new7_p_qo1,new7_p_qo2)),(new8_p,noreplace(new8_p_qr1,new8_p_qr2,new8_p_qr3,new8_p_qs,new8_p_qo1,new8_p_qo2)),(new9_p,noreplace(new9_p_qr1,new9_p_qr2,new9_p_qr3,new9_p_qs,new9_p_qo1,new9_p_qo2)),(new10_p,noreplace(new10_p_qr1,new10_p_qr2,new10_p_qr3,new10_p_qs,new10_p_qo1,new10_p_qo2)))]

<trial new1_p>
/ stimulustimes = [0=new1_p;6000=space]
/ validresponse = (57)
/ beginresponsetime = 8500
</trial>

<likert new1_p_qr1>
/ stimulusframes=[1=questionreact1]
/ fontstyle = ("Arial", 11pt)
/ anchorwidth = 120
/ anchorwidth = 120
/ numpoints = 7
/ buttonvalues = [1="1"; 2="2"; 3="3"; 4="4"; 5="5"; 6="6"; 7="7"]
/ anchors=[1="not at all"; 2=""; 3=""; 4=""; 5=""; 6=""; 7="very much"]
/ position=(50, 80)
</likert>
...


This does not work for several reasons: 1. I probably need to specify 70 trials if I don't compound the trials
2. the error says: 'could not locate element 'noreplace'. 

Is there any way to make this work? 

Pieter



/ trials = [1-10 = noreplace(new1_p,noreplace(new1_p_qr1,new1_p_qr2,new1_p_qr3,new1_p_qs,new1_p_qo1,new1_p_qo2),(new2_p,noreplace(new2_p_qr1,new2_p_qr2,new2_p_qr3,new2_p_qs,new2_p_qo1,new2_p_qo2)),(new3_p,noreplace(new3_p_qr1,new3_p_qr2,new3_p_qr3,new3_p_qs,new3_p_qo1,new3_p_qo2)),(new4_p,noreplace(new4_p_qr1,new4_p_qr2,new4_p_qr3,new4_p_qs,new4_p_qo1,new4_p_qo2)),(new5_p,noreplace(new5_p_qr1,new5_p_qr2,new5_p_qr3,new5_p_qs,new5_p_qo1,new5_p_qo2)),(new6_p,noreplace(new6_p_qr1,new6_p_qr2,new6_p_qr3,new6_p_qs,new6_p_qo1,new6_p_qo2)),(new7_p,noreplace(new7_p_qr1,new7_p_qr2,new7_p_qr3,new7_p_qs,new7_p_qo1,new7_p_qo2)),(new8_p,noreplace(new8_p_qr1,new8_p_qr2,new8_p_qr3,new8_p_qs,new8_p_qo1,new8_p_qo2)),(new9_p,noreplace(new9_p_qr1,new9_p_qr2,new9_p_qr3,new9_p_qs,new9_p_qo1,new9_p_qo2)),(new10_p,noreplace(new10_p_qr1,new10_p_qr2,new10_p_qr3,new10_p_qs,new10_p_qo1,new10_p_qo2)))]

This is invalid syntax; you cannot "nest" various noreplace() selection pools like that.

What you'll want to do is select the newX_p trials in random order, and do the rest via /branch (put the associated likerts in a <list> each).

I also don't understand why you need a separate <trial> and <likert> elements for each of the 10 pictures. Why doesn't a single <trial> and six <likert>s suffice?

In a nutshell:

<values>
/ likertcount = 0
</values>


<block myblock>
/ trials = [1-10=showstim;]
</block>

<trial showstim>
/ ontrialbegin = [
    values.likertcount = 0;
]
/ stimulusframes = [1=stimulus]
/ validresponse = (0)
/ trialduration = 6000
/ branch = [
    list.likertlist.nextvalue
]
</trial>

<text stimulus>
/ items = stimuli
/ select = noreplace
</text>

<item stimuli>
/ 1 = "stim 01"
/ 2 = "stim 02"
/ 3 = "stim 03"
/ 4 = "stim 04"
/ 5 = "stim 05"
/ 6 = "stim 06"
/ 7 = "stim 07"
/ 8 = "stim 08"
/ 9 = "stim 09"
/ 10 = "stim 10"
</item>

<list likertlist>
/ items = (likert.q_a, likert.q_b, likert.q_c, likert.q_d, likert.q_e, likert.q_f)
</list>

<likert q_a>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_b>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_c>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_d>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_e>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<likert q_f>
/ ontrialbegin = [
    values.likertcount += 1;
]
/ stimulusframes = [1=mytext]
/ branch = [
    if (values.likertcount < 6) list.likertlist.nextvalue;
]
</likert>

<text mytext>
/ items = ("<%script.currenttrial%>")
/ position = (50%, 40%)
</text>



This works perfectly. Many thanks. 

Pieter
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search