Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 101K
|
+x+x+xThank you so much! It is working. I was wondering if there is a simple way in this script to balance the occurrence of the different combinations of face stimuli in such a way that each group combination occurs 18 times but still in a random order. 18* UFF - UFF 18* UFF - IFF 18* UFF - UNF
18* IFF - IFF 18* IFF - INF 18* IFF - UFF
18* INF - INF 18* INF - UNF 18* INF - IFF
18* UNF - UNF 18* UNF - INF 18* UNF - UFF I would then end up with my 216 task trials. The only thing that is important is a balanced group combination. For now it dosen't matter which face stimuli of the groups are presented together. You should have mentioned this before. No, there is no easy way. First, you'll have to go back having separate lists, specifically you'll need four lists -- UFF, UNF, IFF, INF -- each containing the item numbers for the respective condition. Then you need two lists pairing your conditions as desired (i.e. 18 x the combination UFF-UFF, 18 x the combination UFF-IFF, etc.). At the start of each trial, sample the condition combination from those two paired lists. Then sample item numbers for face 1 and face 2 from the applicable one or two of the four item number lists (UFF, UNF, IFF, INF) accordingly. Thanks for your reply! I think I managed it in the meantime. I created trials for each possible group combination and then used the block element to make sure they are balanced. Looks like this: <block faces> / trials = [1-39, 41-79, 81-119, 121-159, 161-199, 201-239 = noreplace(UFFUFF,UFFUNF,UFFIFF,IFFIFF,IFFINF,IFFUFF,INFIFF,INFINF,INFUNF,UNFINF,UNFUFF,UNFUNF,catch); 40,80,120,160,200 = break] </block> If I am correct each of the group combinations and also the catch trials should be selected an equal amount of times separated by breaks after every 39th trial. So as I understood some comments in the forum regarding similar topics in trials 1-39 each of the different grouping trials and the catch trials should be taken 3 times (13 possible trials; 39 trial -> 39/13 = 3) followed by a break and so on. Might not be the nicest solution but I hope it'll work. But I have another question. I now implemented the experiment in such a way that the participants have 5 practice trials. After those 5 trials the participants get a text message telling them they can chose whether to go on and start the experiment or to go back to the instructions and have another 5 practice trials. I used the branch element for that. I want them to have the chance to repeat the instructions and 3 times. After the 3rd time they shouldn't get the text that they can go back to instructions anymore but a text telling them that the experiment will start now. I tried it the following way but it did not work as I hoped. It always presented the text about going back to instructions or to continue. <trial repeat> / stimulustimes = [0= blank, text.repeat] / timeout = 10000 / validresponse = (19,57) / correctresponse = (19,57) / stop = [ trial.repeat.correct == true; ] / ontrialbegin = [ values.nottext1 = 2; //values.practiceblocks = block.practice.count; if (values.practiceblocks < 3 == true){ values.textrepeatnumber = list.textrepeatnumbers.nextvalue; } else if (values.practiceblocks = 3 == true){ values.nottext1 = 1; values.textrepeatnumber = list.textrepeatnumbers.nextvalue; } ] </trial> <text repeat> / items = ("If you want to go back to the instruction page and repeat the practice trials press 'R'. If you want to start the experiment press 'Space'." , "The experiment will start now. Press space to continue. After 1 minute the experiment starts automatically." ) / size = (100%, 50%) / position = (50%, 60%) / hjustify = center / select = values.textrepeatnumber </text> <block practice> / preinstructions = (htmlpage.visualinstruction, page.pinst) / trials = [1-5 = noreplace(practice); 6 = repeat] / stop = [ trial.repeat.count >3; ] / branch = [ if (trial.repeat.response == 19){ block.practice } ] / skip = [ trial.repeat.response == 57 ] / onblockbegin = [ values.practiceblocks = block.practice.count; </block> Do you see my mistake? I thought maybe because due to the branch element the block starts over again and with it also the count of blocks which makes it alway 1. I hope I provided enough code for you to know what I am talking about. See the documentation of the count property https://www.millisecond.com/support/docs/v6/html/language/properties/count.htmversus the totalcount property https://www.millisecond.com/support/docs/v6/html/language/properties/totalcount.htm
|
|
|
Jo_Wlhlm
|
|
Group: Forum Members
Posts: 6,
Visits: 49
|
+x+xThank you so much! It is working. I was wondering if there is a simple way in this script to balance the occurrence of the different combinations of face stimuli in such a way that each group combination occurs 18 times but still in a random order. 18* UFF - UFF 18* UFF - IFF 18* UFF - UNF
18* IFF - IFF 18* IFF - INF 18* IFF - UFF
18* INF - INF 18* INF - UNF 18* INF - IFF
18* UNF - UNF 18* UNF - INF 18* UNF - UFF I would then end up with my 216 task trials. The only thing that is important is a balanced group combination. For now it dosen't matter which face stimuli of the groups are presented together. You should have mentioned this before. No, there is no easy way. First, you'll have to go back having separate lists, specifically you'll need four lists -- UFF, UNF, IFF, INF -- each containing the item numbers for the respective condition. Then you need two lists pairing your conditions as desired (i.e. 18 x the combination UFF-UFF, 18 x the combination UFF-IFF, etc.). At the start of each trial, sample the condition combination from those two paired lists. Then sample item numbers for face 1 and face 2 from the applicable one or two of the four item number lists (UFF, UNF, IFF, INF) accordingly. Thanks for your reply! I think I managed it in the meantime. I created trials for each possible group combination and then used the block element to make sure they are balanced. Looks like this: <block faces> / trials = [1-39, 41-79, 81-119, 121-159, 161-199, 201-239 = noreplace(UFFUFF,UFFUNF,UFFIFF,IFFIFF,IFFINF,IFFUFF,INFIFF,INFINF,INFUNF,UNFINF,UNFUFF,UNFUNF,catch); 40,80,120,160,200 = break] </block> If I am correct each of the group combinations and also the catch trials should be selected an equal amount of times separated by breaks after every 39th trial. So as I understood some comments in the forum regarding similar topics in trials 1-39 each of the different grouping trials and the catch trials should be taken 3 times (13 possible trials; 39 trial -> 39/13 = 3) followed by a break and so on. Might not be the nicest solution but I hope it'll work. But I have another question. I now implemented the experiment in such a way that the participants have 5 practice trials. After those 5 trials the participants get a text message telling them they can chose whether to go on and start the experiment or to go back to the instructions and have another 5 practice trials. I used the branch element for that. I want them to have the chance to repeat the instructions and 3 times. After the 3rd time they shouldn't get the text that they can go back to instructions anymore but a text telling them that the experiment will start now. I tried it the following way but it did not work as I hoped. It always presented the text about going back to instructions or to continue. <trial repeat> / stimulustimes = [0= blank, text.repeat] / timeout = 10000 / validresponse = (19,57) / correctresponse = (19,57) / stop = [ trial.repeat.correct == true; ] / ontrialbegin = [ values.nottext1 = 2; //values.practiceblocks = block.practice.count; if (values.practiceblocks < 3 == true){ values.textrepeatnumber = list.textrepeatnumbers.nextvalue; } else if (values.practiceblocks = 3 == true){ values.nottext1 = 1; values.textrepeatnumber = list.textrepeatnumbers.nextvalue; } ] </trial> <text repeat> / items = ("If you want to go back to the instruction page and repeat the practice trials press 'R'. If you want to start the experiment press 'Space'." , "The experiment will start now. Press space to continue. After 1 minute the experiment starts automatically." ) / size = (100%, 50%) / position = (50%, 60%) / hjustify = center / select = values.textrepeatnumber </text> <block practice> / preinstructions = (htmlpage.visualinstruction, page.pinst) / trials = [1-5 = noreplace(practice); 6 = repeat] / stop = [ trial.repeat.count >3; ] / branch = [ if (trial.repeat.response == 19){ block.practice } ] / skip = [ trial.repeat.response == 57 ] / onblockbegin = [ values.practiceblocks = block.practice.count; </block> Do you see my mistake? I thought maybe because due to the branch element the block starts over again and with it also the count of blocks which makes it alway 1. I hope I provided enough code for you to know what I am talking about.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 101K
|
+xThank you so much! It is working. I was wondering if there is a simple way in this script to balance the occurrence of the different combinations of face stimuli in such a way that each group combination occurs 18 times but still in a random order. 18* UFF - UFF 18* UFF - IFF 18* UFF - UNF
18* IFF - IFF 18* IFF - INF 18* IFF - UFF
18* INF - INF 18* INF - UNF 18* INF - IFF
18* UNF - UNF 18* UNF - INF 18* UNF - UFF I would then end up with my 216 task trials. The only thing that is important is a balanced group combination. For now it dosen't matter which face stimuli of the groups are presented together. You should have mentioned this before. No, there is no easy way. First, you'll have to go back having separate lists, specifically you'll need four lists -- UFF, UNF, IFF, INF -- each containing the item numbers for the respective condition. Then you need two lists pairing your conditions as desired (i.e. 18 x the combination UFF-UFF, 18 x the combination UFF-IFF, etc.). At the start of each trial, sample the condition combination from those two paired lists. Then sample item numbers for face 1 and face 2 from the applicable one or two of the four item number lists (UFF, UNF, IFF, INF) accordingly.
|
|
|
Jo_Wlhlm
|
|
Group: Forum Members
Posts: 6,
Visits: 49
|
Thank you so much! It is working. I was wondering if there is a simple way in this script to balance the occurrence of the different combinations of face stimuli in such a way that each group combination occurs 18 times but still in a random order. 18* UFF - UFF 18* UFF - IFF 18* UFF - UNF
18* IFF - IFF 18* IFF - INF 18* IFF - UFF
18* INF - INF 18* INF - UNF 18* INF - IFF
18* UNF - UNF 18* UNF - INF 18* UNF - UFF I would then end up with my 216 task trials. The only thing that is important is a balanced group combination. For now it dosen't matter which face stimuli of the groups are presented together.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 101K
|
+xitem numbers 1,5,9,,13 are UFF ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png") numbers 2,6,10,14 are IFF ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png") numbers 3,7,11,15 are UNF ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png") numbers 4,8,12,16 are INF ("I_F1_N_1.png","I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png") I hope that's what you meant! Take a look at the attached.
|
|
|
Jo_Wlhlm
|
|
Group: Forum Members
Posts: 6,
Visits: 49
|
item numbers 1,5,9,,13 are UFF ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png") numbers 2,6,10,14 are IFF ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png") numbers 3,7,11,15 are UNF ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png") numbers 4,8,12,16 are INF ("I_F1_N_1.png","I_F2_N_1.png","I_M1_N_1.png","I_M2_N_1.png")
I hope that's what you meant!
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 101K
|
+x<list UFF> / items = ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png") / selectionmode = random / select = replace </list> <list IFF> / items = ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png") / selectionmode = random / select = replace </list> <list INF> / items = ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png") / selectionmode = random / select = replace </list> <list UNF> / items = ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png") / selectionmode = random / select = replace </list> Yes, face1 and face2 can also be the same faces. I was asking about item numbers, not separate lists. <list faces> / items = ("F1_F_1.png","I_F1_F_1.png","F1_N_1.png","I_F1_N_1.png","F2_F_1.png","I_F2_F_1.png","F2_N_1.png","I_F2_N_1.png","M1_F_1.png","I_M1_F_1.png","M1_N_1.png","I_M1_N_1.png","M2_F_1.png","I_M2_F_1.png","M2_N_1.png","I_M2_N_1.png") / selectionmode = random / select = replace </list> Which of the item numbers in the above are UFF, which are UNF, which are IFF, which are INF?
|
|
|
Jo_Wlhlm
|
|
Group: Forum Members
Posts: 6,
Visits: 49
|
<list UFF> / items = ("F1_F_1.png","F2_F_1.png","M1_F_1.png","M2_F_1.png") / selectionmode = random / select = replace </list>
<list IFF> / items = ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png") / selectionmode = random / select = replace </list>
<list INF> / items = ("I_F1_F_1.png","I_F2_F_1.png","I_M1_F_1.png","I_M2_F_1.png")
/ selectionmode = random / select = replace </list>
<list UNF> / items = ("F1_N_1.png","F2_N_1.png","M1_N_1.png","M2_N_1.png") / selectionmode = random / select = replace </list>
Yes, face1 and face2 can also be the same faces.
|
|
|
Dave
|
|
Group: Administrators
Posts: 13K,
Visits: 101K
|
+xOk, so what I want to achieve is that two face stimuli out of 16 possible face stimuli get presented at the same time. But I don't want to have all possible combinations. The face that is presented as face1 should be selected randomly out of the 16 possibilities. Depending on which face is shown as face 1 there are only 12 possible faces that can be shown as face 2. The 16 face stimuli can be divided into 4 groups (UNF, UFF, IFF, INF) each containing 4 face stimuli. If face1 is taken from group UFF, face two should be randomly taken out of group UFF, UNF, or IFF. The four pictures of group INF shouldn't be an option in that case. The following summarizes the possibilities: Face1 Possible faces for face2 UFF UFF, UNF, IFF UNF UNF, UFF, INF IFF IFF, INF, UFF INF INF, UNF, IFF
I tried to solve this with different lists out of which stimuli are taken and with an if statement, but it did not work. The following link contains a script that is kinda working, but does not include this specific selection of stimuli for face2: https://drive.google.com/drive/folders/1HzFZhw_5S1IBriZXb3BuLoj4DWpp24eI?usp=sharing I hope now it is a little bit clearer what my question is. I'd be glad if you have a solution for my problem or some hints how to solve it. Wasted quite some time on it now. Thanks in advance! Which item numbers belong to which group? Also, there seems to be nothing in your description that rules out the same item being selected for both face 1 and face 2 in a single trial. Is that intentional?
|
|
|
Jo_Wlhlm
|
|
Group: Forum Members
Posts: 6,
Visits: 49
|
Ok, so what I want to achieve is that two face stimuli out of 16 possible face stimuli get presented at the same time. But I don't want to have all possible combinations. The face that is presented as face1 should be selected randomly out of the 16 possibilities. Depending on which face is shown as face 1 there are only 12 possible faces that can be shown as face 2. The 16 face stimuli can be divided into 4 groups (UNF, UFF, IFF, INF) each containing 4 face stimuli. If face1 is taken from group UFF, face two should be randomly taken out of group UFF, UNF, or IFF. The four pictures of group INF shouldn't be an option in that case. The following summarizes the possibilities: Face1 Possible faces for face2 UFF UFF, UNF, IFF UNF UNF, UFF, INF IFF IFF, INF, UFF INF INF, UNF, IFF
I tried to solve this with different lists out of which stimuli are taken and with an if statement, but it did not work. The following link contains a script that is kinda working, but does not include this specific selection of stimuli for face2: https://drive.google.com/drive/folders/1HzFZhw_5S1IBriZXb3BuLoj4DWpp24eI?usp=sharing I hope now it is a little bit clearer what my question is. I'd be glad if you have a solution for my problem or some hints how to solve it. Wasted quite some time on it now. Thanks in advance!
|
|
|