Randomizing Survey Items for Randomized Statements


Author
Message
ashleym
ashleym
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 31, Visits: 119
Dave - Tuesday, March 7, 2017
ashleym - Tuesday, March 7, 2017
Dave - Tuesday, March 7, 2017
ashleym - Tuesday, March 7, 2017
Hello again,

One last question. In the actual data file, for the trials in which the 30 statements are being selected and then shown on six consecutive pages, there is no information in the "stimulusitem1" column so I do not know which statement is shown. I do need to know which random statement is presented and which of the six items are being answered about that statement. All of the rest of the necessary information is there. Is there a way to ensure I see in the data file which statement is presented during the "selectstatement" trials?

Thank you in advance!
Ashley

You can either customize the data output by specifying all the information you want logged in the <data> element's /columns attribute. To capture the statement, log values.statement

<data>
/ columns = [date time subject group blocknum blockcode trialnum trialcode response latency correct values.statement]
...
</data>

Alternatively, you can have <trial selectstatement> display a simple (invisible) <text> element. In that case, the default data recording scheme will capture the statement text in the stimulusitem column. I.e.

<surveypage q1p>
/ caption = "<%values.statement%>"
/ questions = [1=q1]
</surveypage>

<surveypage q2p>
/ caption = "<%values.statement%>"
/ questions = [1=q2]
</surveypage>

<surveypage q3p>
/ caption = "<%values.statement%>"
/ questions = [1=q3]
</surveypage>

<surveypage q4p>
/ caption = "<%values.statement%>"
/ questions = [1=q4]
</surveypage>

<surveypage q5p>
/ caption = "<%values.statement%>"
/ questions = [1=q5]
</surveypage>

<surveypage q6p>
/ caption = "<%values.statement%>"
/ questions = [1=q6]
</surveypage>

<slider q1>
/ caption = "q1"
/ labels = ("Not much", "Extremely")
</slider>

<slider q2>
/ caption = "q2"
/ labels = ("Not much", "Extremely")
</slider>

<slider q3>
/ caption = "q3"
/ labels = ("Not much", "Extremely")
</slider>

<slider q4>
/ caption = "q4"
/ labels = ("Not much", "Extremely")
</slider>

<slider q5>
/ caption = "q5"
/ labels = ("Not much", "Extremely")
</slider>

<slider q6>
/ caption = "q6"
/ labels = ("Not much", "Extremely")
</slider>

<trial selectstatement>
/ ontrialbegin = [values.statement = item.statementitems.item(list.statementnumbers.nextindex);]
/ stimulustimes = [0=mytext]
/ trialduration = 0
</trial>

<values>
/ statement = ""
</values>


<list statementnumbers>
/ poolsize = 3
</list>

<text mytext>
/ items = ("<%values.statement%>")
/ position = (-5%, -5%)
/ erase = false
</text>


<item statementitems>
/ 1 = "Statement 1"
/ 2 = "Statement 2"
/ 3 = "Statement 3"
</item>

<block myblock>
/ trials = [1, 8, 15, = selectstatement; 2-7, 9-14, 16-21  = noreplace(q1p, q2p, q3p, q4p, q5p, q6p); ]
</block>

THANKS! They both work, with a minor issue for each.

1. With the data approach, I was able to get the values.statements to record, but the stimulusnumber and stimulusitem columns are now blank. Should I be calling them something different to capture those columns?

2. With the text approach, two of my items are a bit long and move onto a second line and the last few words of those two items are visible up in the top right hand corner. I tried changing the position to (-99%, -99%), but they are still showing.

Thank you so much for you help. Sorry for so many questions, this is my first time writing a script from scratch and I hope to learn as much as I can for future reference.





> 1. With the data approach, I was able to get the values.statements to record, but the stimulusnumber and stimulusitem columns are now blank. Should I be calling them
> something different to capture those columns?

Technically no stimuli are shown, so they should be blank. In fact, those columns should not be needed at all.

> 2. With the text approach, two of my items are a bit long and move onto a second line and the last few words of those two items are visible up in the top right hand corner. I
> tried changing the position to (-99%, -99%), but they are still showing.

Several things you can do: Set the <text> to a very small /fontstyle and/or set its /txcolor to white (it won't be visible against a white background then).

<text mytext>
/ items = ("<%values.statement%>")
/ fontstyle = ("Arial", 0.1%)
/ txcolor = (white)
/ position = (-5%, -5%)
/ erase = false
</text>


Got it! THANKS AGAIN!!!
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
ashleym - Tuesday, March 7, 2017
Dave - Tuesday, March 7, 2017
ashleym - Tuesday, March 7, 2017
Hello again,

One last question. In the actual data file, for the trials in which the 30 statements are being selected and then shown on six consecutive pages, there is no information in the "stimulusitem1" column so I do not know which statement is shown. I do need to know which random statement is presented and which of the six items are being answered about that statement. All of the rest of the necessary information is there. Is there a way to ensure I see in the data file which statement is presented during the "selectstatement" trials?

Thank you in advance!
Ashley

You can either customize the data output by specifying all the information you want logged in the <data> element's /columns attribute. To capture the statement, log values.statement

<data>
/ columns = [date time subject group blocknum blockcode trialnum trialcode response latency correct values.statement]
...
</data>

Alternatively, you can have <trial selectstatement> display a simple (invisible) <text> element. In that case, the default data recording scheme will capture the statement text in the stimulusitem column. I.e.

<surveypage q1p>
/ caption = "<%values.statement%>"
/ questions = [1=q1]
</surveypage>

<surveypage q2p>
/ caption = "<%values.statement%>"
/ questions = [1=q2]
</surveypage>

<surveypage q3p>
/ caption = "<%values.statement%>"
/ questions = [1=q3]
</surveypage>

<surveypage q4p>
/ caption = "<%values.statement%>"
/ questions = [1=q4]
</surveypage>

<surveypage q5p>
/ caption = "<%values.statement%>"
/ questions = [1=q5]
</surveypage>

<surveypage q6p>
/ caption = "<%values.statement%>"
/ questions = [1=q6]
</surveypage>

<slider q1>
/ caption = "q1"
/ labels = ("Not much", "Extremely")
</slider>

<slider q2>
/ caption = "q2"
/ labels = ("Not much", "Extremely")
</slider>

<slider q3>
/ caption = "q3"
/ labels = ("Not much", "Extremely")
</slider>

<slider q4>
/ caption = "q4"
/ labels = ("Not much", "Extremely")
</slider>

<slider q5>
/ caption = "q5"
/ labels = ("Not much", "Extremely")
</slider>

<slider q6>
/ caption = "q6"
/ labels = ("Not much", "Extremely")
</slider>

<trial selectstatement>
/ ontrialbegin = [values.statement = item.statementitems.item(list.statementnumbers.nextindex);]
/ stimulustimes = [0=mytext]
/ trialduration = 0
</trial>

<values>
/ statement = ""
</values>


<list statementnumbers>
/ poolsize = 3
</list>

<text mytext>
/ items = ("<%values.statement%>")
/ position = (-5%, -5%)
/ erase = false
</text>


<item statementitems>
/ 1 = "Statement 1"
/ 2 = "Statement 2"
/ 3 = "Statement 3"
</item>

<block myblock>
/ trials = [1, 8, 15, = selectstatement; 2-7, 9-14, 16-21  = noreplace(q1p, q2p, q3p, q4p, q5p, q6p); ]
</block>

THANKS! They both work, with a minor issue for each.

1. With the data approach, I was able to get the values.statements to record, but the stimulusnumber and stimulusitem columns are now blank. Should I be calling them something different to capture those columns?

2. With the text approach, two of my items are a bit long and move onto a second line and the last few words of those two items are visible up in the top right hand corner. I tried changing the position to (-99%, -99%), but they are still showing.

Thank you so much for you help. Sorry for so many questions, this is my first time writing a script from scratch and I hope to learn as much as I can for future reference.





> 1. With the data approach, I was able to get the values.statements to record, but the stimulusnumber and stimulusitem columns are now blank. Should I be calling them
> something different to capture those columns?

Technically no stimuli are shown, so they should be blank. In fact, those columns should not be needed at all.

> 2. With the text approach, two of my items are a bit long and move onto a second line and the last few words of those two items are visible up in the top right hand corner. I
> tried changing the position to (-99%, -99%), but they are still showing.

Several things you can do: Set the <text> to a very small /fontstyle and/or set its /txcolor to white (it won't be visible against a white background then).

<text mytext>
/ items = ("<%values.statement%>")
/ fontstyle = ("Arial", 0.1%)
/ txcolor = (white)
/ position = (-5%, -5%)
/ erase = false
</text>


ashleym
ashleym
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 31, Visits: 119
Dave - Tuesday, March 7, 2017
ashleym - Tuesday, March 7, 2017
Hello again,

One last question. In the actual data file, for the trials in which the 30 statements are being selected and then shown on six consecutive pages, there is no information in the "stimulusitem1" column so I do not know which statement is shown. I do need to know which random statement is presented and which of the six items are being answered about that statement. All of the rest of the necessary information is there. Is there a way to ensure I see in the data file which statement is presented during the "selectstatement" trials?

Thank you in advance!
Ashley

You can either customize the data output by specifying all the information you want logged in the <data> element's /columns attribute. To capture the statement, log values.statement

<data>
/ columns = [date time subject group blocknum blockcode trialnum trialcode response latency correct values.statement]
...
</data>

Alternatively, you can have <trial selectstatement> display a simple (invisible) <text> element. In that case, the default data recording scheme will capture the statement text in the stimulusitem column. I.e.

<surveypage q1p>
/ caption = "<%values.statement%>"
/ questions = [1=q1]
</surveypage>

<surveypage q2p>
/ caption = "<%values.statement%>"
/ questions = [1=q2]
</surveypage>

<surveypage q3p>
/ caption = "<%values.statement%>"
/ questions = [1=q3]
</surveypage>

<surveypage q4p>
/ caption = "<%values.statement%>"
/ questions = [1=q4]
</surveypage>

<surveypage q5p>
/ caption = "<%values.statement%>"
/ questions = [1=q5]
</surveypage>

<surveypage q6p>
/ caption = "<%values.statement%>"
/ questions = [1=q6]
</surveypage>

<slider q1>
/ caption = "q1"
/ labels = ("Not much", "Extremely")
</slider>

<slider q2>
/ caption = "q2"
/ labels = ("Not much", "Extremely")
</slider>

<slider q3>
/ caption = "q3"
/ labels = ("Not much", "Extremely")
</slider>

<slider q4>
/ caption = "q4"
/ labels = ("Not much", "Extremely")
</slider>

<slider q5>
/ caption = "q5"
/ labels = ("Not much", "Extremely")
</slider>

<slider q6>
/ caption = "q6"
/ labels = ("Not much", "Extremely")
</slider>

<trial selectstatement>
/ ontrialbegin = [values.statement = item.statementitems.item(list.statementnumbers.nextindex);]
/ stimulustimes = [0=mytext]
/ trialduration = 0
</trial>

<values>
/ statement = ""
</values>


<list statementnumbers>
/ poolsize = 3
</list>

<text mytext>
/ items = ("<%values.statement%>")
/ position = (-5%, -5%)
/ erase = false
</text>


<item statementitems>
/ 1 = "Statement 1"
/ 2 = "Statement 2"
/ 3 = "Statement 3"
</item>

<block myblock>
/ trials = [1, 8, 15, = selectstatement; 2-7, 9-14, 16-21  = noreplace(q1p, q2p, q3p, q4p, q5p, q6p); ]
</block>

THANKS! They both work, with a minor issue for each.

1. With the data approach, I was able to get the values.statements to record, but the stimulusnumber and stimulusitem columns are now blank. Should I be calling them something different to capture those columns?

2. With the text approach, two of my items are a bit long and move onto a second line and the last few words of those two items are visible up in the top right hand corner. I tried changing the position to (-99%, -99%), but they are still showing.

Thank you so much for you help. Sorry for so many questions, this is my first time writing a script from scratch and I hope to learn as much as I can for future reference.





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
ashleym - Tuesday, March 7, 2017
Hello again,

One last question. In the actual data file, for the trials in which the 30 statements are being selected and then shown on six consecutive pages, there is no information in the "stimulusitem1" column so I do not know which statement is shown. I do need to know which random statement is presented and which of the six items are being answered about that statement. All of the rest of the necessary information is there. Is there a way to ensure I see in the data file which statement is presented during the "selectstatement" trials?

Thank you in advance!
Ashley

You can either customize the data output by specifying all the information you want logged in the <data> element's /columns attribute. To capture the statement, log values.statement

<data>
/ columns = [date time subject group blocknum blockcode trialnum trialcode response latency correct values.statement]
...
</data>

Alternatively, you can have <trial selectstatement> display a simple (invisible) <text> element. In that case, the default data recording scheme will capture the statement text in the stimulusitem column. I.e.

<surveypage q1p>
/ caption = "<%values.statement%>"
/ questions = [1=q1]
</surveypage>

<surveypage q2p>
/ caption = "<%values.statement%>"
/ questions = [1=q2]
</surveypage>

<surveypage q3p>
/ caption = "<%values.statement%>"
/ questions = [1=q3]
</surveypage>

<surveypage q4p>
/ caption = "<%values.statement%>"
/ questions = [1=q4]
</surveypage>

<surveypage q5p>
/ caption = "<%values.statement%>"
/ questions = [1=q5]
</surveypage>

<surveypage q6p>
/ caption = "<%values.statement%>"
/ questions = [1=q6]
</surveypage>

<slider q1>
/ caption = "q1"
/ labels = ("Not much", "Extremely")
</slider>

<slider q2>
/ caption = "q2"
/ labels = ("Not much", "Extremely")
</slider>

<slider q3>
/ caption = "q3"
/ labels = ("Not much", "Extremely")
</slider>

<slider q4>
/ caption = "q4"
/ labels = ("Not much", "Extremely")
</slider>

<slider q5>
/ caption = "q5"
/ labels = ("Not much", "Extremely")
</slider>

<slider q6>
/ caption = "q6"
/ labels = ("Not much", "Extremely")
</slider>

<trial selectstatement>
/ ontrialbegin = [values.statement = item.statementitems.item(list.statementnumbers.nextindex);]
/ stimulustimes = [0=mytext]
/ trialduration = 0
</trial>

<values>
/ statement = ""
</values>


<list statementnumbers>
/ poolsize = 3
</list>

<text mytext>
/ items = ("<%values.statement%>")
/ position = (-5%, -5%)
/ erase = false
</text>


<item statementitems>
/ 1 = "Statement 1"
/ 2 = "Statement 2"
/ 3 = "Statement 3"
</item>

<block myblock>
/ trials = [1, 8, 15, = selectstatement; 2-7, 9-14, 16-21  = noreplace(q1p, q2p, q3p, q4p, q5p, q6p); ]
</block>

ashleym
ashleym
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 31, Visits: 119
Hello again,

One last question. In the actual data file, for the trials in which the 30 statements are being selected and then shown on six consecutive pages, there is no information in the "stimulusitem1" column so I do not know which statement is shown. I do need to know which random statement is presented and which of the six items are being answered about that statement. All of the rest of the necessary information is there. Is there a way to ensure I see in the data file which statement is presented during the "selectstatement" trials?

Thank you in advance!
Ashley
ashleym
ashleym
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 31, Visits: 119
ashleym - Monday, March 6, 2017
Dave - Sunday, March 5, 2017
ashleym - Saturday, March 4, 2017
Hello!

I am attempting to do the following:

1. Show 30 statements (e.g., "I am a good dancer.") in random order without replacement.
2. For each individual statement, I would like to show 6 response items (e.g., "To what extent do you agree with this item?") in random order without replacement.
3. Include a response scale (e.g., Not Much to Extremely) on each page.

I would like for the same original statement to show at the top of six consecutive pages, while the 6 randomized response items and scales appear beneath it on each of the six pages.

The goal is for the pages to look something like this:

PAGE 1:
Statement 1
To what extent do you like this item?
Not much to Extremely 

PAGE 2:
Statement 1
To what extent is this item easy to understand?
Not much to Extremely

PAGE 3:
Statement 1
To what extent is this item confusing?
Not much to Extremely

PAGE 4:
Statement 1
To what extent is this item personally relevant?
Not much to Extremely

PAGE 5:
Statement 1
To what extent is this item . . .?
Not much to Extremely

PAGE 6:
Statement 1
To what extent is this item . . . ?
Not much to Extremely

PAGE 7:
Statement 2
To what extent is this item personally relevant?
Not much to Extremely

And so on....

Is there a way to do this?

Thank you in advance for any assistance!!!


Yes, here's a bare-bones example for 3 statements / 6 questions per statement. You can extend that to 30 accordingly:

<surveypage q1p>
/ caption = "<%values.statement%>"
/ questions = [1=q1]
</surveypage>

<surveypage q2p>
/ caption = "<%values.statement%>"
/ questions = [1=q2]
</surveypage>

<surveypage q3p>
/ caption = "<%values.statement%>"
/ questions = [1=q3]
</surveypage>

<surveypage q4p>
/ caption = "<%values.statement%>"
/ questions = [1=q4]
</surveypage>

<surveypage q5p>
/ caption = "<%values.statement%>"
/ questions = [1=q5]
</surveypage>

<surveypage q6p>
/ caption = "<%values.statement%>"
/ questions = [1=q6]
</surveypage>

<slider q1>
/ caption = "q1"
/ labels = ("Not much", "Extremely")
</slider>

<slider q2>
/ caption = "q2"
/ labels = ("Not much", "Extremely")
</slider>

<slider q3>
/ caption = "q3"
/ labels = ("Not much", "Extremely")
</slider>

<slider q4>
/ caption = "q4"
/ labels = ("Not much", "Extremely")
</slider>

<slider q5>
/ caption = "q5"
/ labels = ("Not much", "Extremely")
</slider>

<slider q6>
/ caption = "q6"
/ labels = ("Not much", "Extremely")
</slider>

<trial selectstatement>
/ ontrialbegin = [values.statement = item.statementitems.item(list.statementnumbers.nextindex);]
/ trialduration = 0
</trial>

<values>
/ statement = ""
</values>


<list statementnumbers>
/ poolsize = 3
</list>

<item statementitems>
/ 1 = "Statement 1"
/ 2 = "Statement 2"
/ 3 = "Statement 3"
</item>

<block myblock>
/ trials = [1, 8, 15, = selectstatement; 2-7, 9-14, 16-21  = noreplace(q1p, q2p, q3p, q4p, q5p, q6p); ]
</block>




THANK YOU! Everything works great except the "noreplace" function on the 6 response items. They are randomizing, but with replacement. I cannot seem to figure out how to fix this. Any help would be appreciated.

Thank you again!!!


Figured it out so no need for any additional assistance. THANK YOU AGAIN!!!

Take care.
ashleym
ashleym
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 31, Visits: 119
Dave - Sunday, March 5, 2017
ashleym - Saturday, March 4, 2017
Hello!

I am attempting to do the following:

1. Show 30 statements (e.g., "I am a good dancer.") in random order without replacement.
2. For each individual statement, I would like to show 6 response items (e.g., "To what extent do you agree with this item?") in random order without replacement.
3. Include a response scale (e.g., Not Much to Extremely) on each page.

I would like for the same original statement to show at the top of six consecutive pages, while the 6 randomized response items and scales appear beneath it on each of the six pages.

The goal is for the pages to look something like this:

PAGE 1:
Statement 1
To what extent do you like this item?
Not much to Extremely 

PAGE 2:
Statement 1
To what extent is this item easy to understand?
Not much to Extremely

PAGE 3:
Statement 1
To what extent is this item confusing?
Not much to Extremely

PAGE 4:
Statement 1
To what extent is this item personally relevant?
Not much to Extremely

PAGE 5:
Statement 1
To what extent is this item . . .?
Not much to Extremely

PAGE 6:
Statement 1
To what extent is this item . . . ?
Not much to Extremely

PAGE 7:
Statement 2
To what extent is this item personally relevant?
Not much to Extremely

And so on....

Is there a way to do this?

Thank you in advance for any assistance!!!


Yes, here's a bare-bones example for 3 statements / 6 questions per statement. You can extend that to 30 accordingly:

<surveypage q1p>
/ caption = "<%values.statement%>"
/ questions = [1=q1]
</surveypage>

<surveypage q2p>
/ caption = "<%values.statement%>"
/ questions = [1=q2]
</surveypage>

<surveypage q3p>
/ caption = "<%values.statement%>"
/ questions = [1=q3]
</surveypage>

<surveypage q4p>
/ caption = "<%values.statement%>"
/ questions = [1=q4]
</surveypage>

<surveypage q5p>
/ caption = "<%values.statement%>"
/ questions = [1=q5]
</surveypage>

<surveypage q6p>
/ caption = "<%values.statement%>"
/ questions = [1=q6]
</surveypage>

<slider q1>
/ caption = "q1"
/ labels = ("Not much", "Extremely")
</slider>

<slider q2>
/ caption = "q2"
/ labels = ("Not much", "Extremely")
</slider>

<slider q3>
/ caption = "q3"
/ labels = ("Not much", "Extremely")
</slider>

<slider q4>
/ caption = "q4"
/ labels = ("Not much", "Extremely")
</slider>

<slider q5>
/ caption = "q5"
/ labels = ("Not much", "Extremely")
</slider>

<slider q6>
/ caption = "q6"
/ labels = ("Not much", "Extremely")
</slider>

<trial selectstatement>
/ ontrialbegin = [values.statement = item.statementitems.item(list.statementnumbers.nextindex);]
/ trialduration = 0
</trial>

<values>
/ statement = ""
</values>


<list statementnumbers>
/ poolsize = 3
</list>

<item statementitems>
/ 1 = "Statement 1"
/ 2 = "Statement 2"
/ 3 = "Statement 3"
</item>

<block myblock>
/ trials = [1, 8, 15, = selectstatement; 2-7, 9-14, 16-21  = noreplace(q1p, q2p, q3p, q4p, q5p, q6p); ]
</block>




THANK YOU! Everything works great except the "noreplace" function on the 6 response items. They are randomizing, but with replacement. I cannot seem to figure out how to fix this. Any help would be appreciated.

Thank you again!!!


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
ashleym - Saturday, March 4, 2017
Hello!

I am attempting to do the following:

1. Show 30 statements (e.g., "I am a good dancer.") in random order without replacement.
2. For each individual statement, I would like to show 6 response items (e.g., "To what extent do you agree with this item?") in random order without replacement.
3. Include a response scale (e.g., Not Much to Extremely) on each page.

I would like for the same original statement to show at the top of six consecutive pages, while the 6 randomized response items and scales appear beneath it on each of the six pages.

The goal is for the pages to look something like this:

PAGE 1:
Statement 1
To what extent do you like this item?
Not much to Extremely 

PAGE 2:
Statement 1
To what extent is this item easy to understand?
Not much to Extremely

PAGE 3:
Statement 1
To what extent is this item confusing?
Not much to Extremely

PAGE 4:
Statement 1
To what extent is this item personally relevant?
Not much to Extremely

PAGE 5:
Statement 1
To what extent is this item . . .?
Not much to Extremely

PAGE 6:
Statement 1
To what extent is this item . . . ?
Not much to Extremely

PAGE 7:
Statement 2
To what extent is this item personally relevant?
Not much to Extremely

And so on....

Is there a way to do this?

Thank you in advance for any assistance!!!


Yes, here's a bare-bones example for 3 statements / 6 questions per statement. You can extend that to 30 accordingly:

<surveypage q1p>
/ caption = "<%values.statement%>"
/ questions = [1=q1]
</surveypage>

<surveypage q2p>
/ caption = "<%values.statement%>"
/ questions = [1=q2]
</surveypage>

<surveypage q3p>
/ caption = "<%values.statement%>"
/ questions = [1=q3]
</surveypage>

<surveypage q4p>
/ caption = "<%values.statement%>"
/ questions = [1=q4]
</surveypage>

<surveypage q5p>
/ caption = "<%values.statement%>"
/ questions = [1=q5]
</surveypage>

<surveypage q6p>
/ caption = "<%values.statement%>"
/ questions = [1=q6]
</surveypage>

<slider q1>
/ caption = "q1"
/ labels = ("Not much", "Extremely")
</slider>

<slider q2>
/ caption = "q2"
/ labels = ("Not much", "Extremely")
</slider>

<slider q3>
/ caption = "q3"
/ labels = ("Not much", "Extremely")
</slider>

<slider q4>
/ caption = "q4"
/ labels = ("Not much", "Extremely")
</slider>

<slider q5>
/ caption = "q5"
/ labels = ("Not much", "Extremely")
</slider>

<slider q6>
/ caption = "q6"
/ labels = ("Not much", "Extremely")
</slider>

<trial selectstatement>
/ ontrialbegin = [values.statement = item.statementitems.item(list.statementnumbers.nextindex);]
/ trialduration = 0
</trial>

<values>
/ statement = ""
</values>


<list statementnumbers>
/ poolsize = 3
</list>

<item statementitems>
/ 1 = "Statement 1"
/ 2 = "Statement 2"
/ 3 = "Statement 3"
</item>

<block myblock>
/ trials = [1, 8, 15, = selectstatement; 2-7, 9-14, 16-21  = noreplace(q1p, q2p, q3p, q4p, q5p, q6p); ]
</block>




ashleym
ashleym
Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)Esteemed Member (1.8K reputation)
Group: Forum Members
Posts: 31, Visits: 119
Hello!

I am attempting to do the following:

1. Show 30 statements (e.g., "I am a good dancer.") in random order without replacement.
2. For each individual statement, I would like to show 6 response items (e.g., "To what extent do you agree with this item?") in random order without replacement.
3. Include a response scale (e.g., Not Much to Extremely) on each page.

I would like for the same original statement to show at the top of six consecutive pages, while the 6 randomized response items and scales appear beneath it on each of the six pages.

The goal is for the pages to look something like this:

PAGE 1:
Statement 1
To what extent do you like this item?
Not much to Extremely 

PAGE 2:
Statement 1
To what extent is this item easy to understand?
Not much to Extremely

PAGE 3:
Statement 1
To what extent is this item confusing?
Not much to Extremely

PAGE 4:
Statement 1
To what extent is this item personally relevant?
Not much to Extremely

PAGE 5:
Statement 1
To what extent is this item . . .?
Not much to Extremely

PAGE 6:
Statement 1
To what extent is this item . . . ?
Not much to Extremely

PAGE 7:
Statement 2
To what extent is this item personally relevant?
Not much to Extremely

And so on....

Is there a way to do this?

Thank you in advance for any assistance!!!


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search