Millisecond Forums

Show all possible pairs of 10 items that are responses from a previous question

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

By wmfang - 4/25/2024

Hello!

I am having participants enter 10 items to create a list called itemsList.

I want to show all possible pairs of the 10 items and have participants rate on a slider bar (-1 to 1) how correlated they think each pair of items are. I believe there would be 45 pairs total (10 items, order doesn't matter).

So, I want to show 2 items at a time. The 45 pairs should be shown in random order.

Across participants, the item being on the left versus right of the screen (per pair) should be counterbalanced. 

How do I do this? 

Thanks in advance!
By Dave - 4/25/2024

wmfang - 4/25/2024
Hello!

I am having participants enter 10 items to create a list called itemsList.

I want to show all possible pairs of the 10 items and have participants rate on a slider bar (-1 to 1) how correlated they think each pair of items are. I believe there would be 45 pairs total (10 items, order doesn't matter).

So, I want to show 2 items at a time. The 45 pairs should be shown in random order.

Across participants, the item being on the left versus right of the screen (per pair) should be counterbalanced. 

How do I do this? 

Thanks in advance!

You need to spell out the pairs in linked lists (this has been discused many, many times before, so you can find plenty of examples via search).

I have no idea what you mean by "[a]cross participants, the item being on the left versus right of the screen (per pair) should be counterbalanced."
By Dave - 4/25/2024

Dave - 4/25/2024
wmfang - 4/25/2024
Hello!

I am having participants enter 10 items to create a list called itemsList.

I want to show all possible pairs of the 10 items and have participants rate on a slider bar (-1 to 1) how correlated they think each pair of items are. I believe there would be 45 pairs total (10 items, order doesn't matter).

So, I want to show 2 items at a time. The 45 pairs should be shown in random order.

Across participants, the item being on the left versus right of the screen (per pair) should be counterbalanced. 

How do I do this? 

Thanks in advance!

You need to spell out the pairs in linked lists (this has been discused many, many times before, so you can find plenty of examples via search).

I have no idea what you mean by "[a]cross participants, the item being on the left versus right of the screen (per pair) should be counterbalanced."

Here's a somewhat worked up example.

<list a>
/ items = (1,3,1,5,1,7,1,9,1,
2,4,2,6,2,8,2,10,
3,5,3,7,3,9,3,
4,6,4,8,4,10,
5,7,5,9,5,
6,8,6,10,
7,9,7,
8,10,
9)
</list>

<list b>
/ items = (2,1,4,1,6,1,8,1,10,
3,2,5,2,7,2,9,2,
4,3,6,3,8,3,10,
5,4,7,4,9,4,
6,5,8,5,10,
7,6,9,6,
8,7,10,
9,8,
10)
/ selectionmode = list.a.currentindex
</list>

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

<values>
/ a = 0
/ b = 0
/ ax = 0%
/ bx = 0%
/ pairnumber = 0
/ correlation = 0
</values>

<text pair_a>
/ items = item.myitems
/ select = values.a
/ hposition = values.ax
/ vposition = 40%
</text>

<text pair_b>
/ items = item.myitems
/ select = values.b
/ hposition = values.bx
/ vposition = 40%
</text>

<text instr>
/ items = ("Indicate how correlated the two items are.")
/ position = (50%, 10%)
/ erase = false
</text>

<text and>
/ items = ("and")
/ hposition = 50%
/ vposition = 40%
</text>

<slider correlation>
/ range = (-100, 100)
/ showticks = false
/ showtooltips = false
/ labels = ("-1.00", "-0.75" "-0.50", "-0.25", "0.00", "+0.25", "+0.5", "+0.75", "+1.00")
/ slidersize = (70%, 20%)
/ position = (15%, 60%)
</slider>

<surveypage mypage>
/ ontrialbegin = [
    values.a = list.a.nextvalue;
    values.b = list.b.nextvalue;
    values.pairnumber = list.a.currentindex;
]
/ ontrialend = [
    values.correlation = slider.correlation.response/100;
]
/ stimulusframes = [1=text.pair_a, text.pair_b, and, instr]
/ questions = [1=slider.correlation]
/ showquestionnumbers = false
/ showpagenumbers = false
</surveypage>

<block myblock>
/ trials = [1-45 = surveypage.mypage]
</block>

<expt aleft>
/ onexptbegin = [
    values.ax = 30%;
    values.bx = 70%;
]
/ blocks = [1=block.myblock]
/ subjects = (1 of 2)
/ groupassignment = groupnumber
</expt>

<expt bleft>
/ onexptbegin = [
    values.ax = 70%;
    values.bx = 30%;
]
/ blocks = [1=block.myblock]
/ subjects = (2 of 2)
/ groupassignment = groupnumber
</expt>

<data>
/ columns = (date time subject group blocknum blockcode trialnum trialcode response latency correct
    text.pair_a.currentitem text.pair_b.currentitem values.pairnumber values.correlation)
/ separatefiles = true
</data>