Millisecond Forums

Unequal distribution of stimuli

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

By Finerate12 - 4/18/2019

Hi Dave!

I'm using Inquisit for the first time and my script is almost finished, however I do not seem to get 1 thing right. My research involves an emotion categorisation task, where participants view a picture and then have to click either A (emotion 1) or L (emotion 2). My experiment runs fine, only when I analyse the data with SPSS, I find that not all pictures are shown equally. As you will see in my script, I have 16 individuals who all show 2 emotions (32 faces) and I want each emotional expression to run twice so I have 64 trials in each block which makes a total of 128 trials. Also, I have 16 practice trials for each block so 32 practice trials in total.

I used noreplace in the script and I read somewhere on this forum that in order to counterbalance correctly '/onblockend.(expression).reset' could be used, however when I try this my script gives me an error. Could u please help me how to solve this? I use a MacBook Pro with Inquisit 5.

Kind regards!
By Dave - 4/18/2019

Finerate12 - Friday, April 19, 2019
Hi Dave!

I'm using Inquisit for the first time and my script is almost finished, however I do not seem to get 1 thing right. My research involves an emotion categorisation task, where participants view a picture and then have to click either A (emotion 1) or L (emotion 2). My experiment runs fine, only when I analyse the data with SPSS, I find that not all pictures are shown equally. As you will see in my script, I have 16 individuals who all show 2 emotions (32 faces) and I want each emotional expression to run twice so I have 64 trials in each block which makes a total of 128 trials. Also, I have 16 practice trials for each block so 32 practice trials in total.

I used noreplace in the script and I read somewhere on this forum that in order to counterbalance correctly '/onblockend.(expression).reset' could be used, however when I try this my script gives me an error. Could u please help me how to solve this? I use a MacBook Pro with Inquisit 5.

Kind regards!

You will want to reset the various <picture> elements' selection pools either at the end of the practice blocks or at the start of the test blocks. In addition, you'll want to avoid dots in element names.

<block SadAngry_oefen>
/ preinstructions = (oefen, oefen_SadAngry)
/ trials = [1-16 = noreplace (Old_Sad_l, Young_Sad_l, Old_Angry_r, Young_Angry_r)]
/ onblockbegin = [values.reminder_left = "Sad"; values.reminder_right = "Angry"]
</block>

<block SadAngry>
/ onblockbegin = [
picture.Old_Angry_l.resetselection():
picture.Old_Angry_r.resetselection():
picture.Old_Sad_l.resetselection();
picture.Old_Sad_r.resetselection();
picture.Young_Angry_l.resetselection();
picture.Young_Angry_r.resetselection();
picture.Young_Sad_l.resetselection();
picture.Young_Sad_r.resetselection();
]
/ preinstructions = (test, test_SadAngry)
/ trials = [1-64 = noreplace (Old_Sad_l, Young_Sad_l, Old_Angry_r, Young_Angry_r)]
/ onblockbegin = [values.reminder_left = "Sad"; values.reminder_right = "Angry"]
</block>

<block AngrySad_oefen>
/ preinstructions = (oefen, oefen_AngrySad)
/ trials = [1-16 = noreplace (Old_Sad_r, Young_Sad_r, Old_Angry_l, Young_Angry_l)]
/ onblockbegin = [values.reminder_left = "Angry"; values.reminder_right = "Sad"]
</block>

<block AngrySad>
/ onblockbegin = [
picture.Old_Angry_l.resetselection():
picture.Old_Angry_r.resetselection():
picture.Old_Sad_l.resetselection();
picture.Old_Sad_r.resetselection();
picture.Young_Angry_l.resetselection();
picture.Young_Angry_r.resetselection();
picture.Young_Sad_l.resetselection();
picture.Young_Sad_r.resetselection();
]
/ preinstructions = (test, test_AngrySad)
/ trials = [1-64 = noreplace (Old_Sad_r, Young_Sad_r, Old_Angry_l, Young_Angry_l)]
/ onblockbegin = [values.reminder_left = "Angry"; values.reminder_right = "Sad"]
</block>

Give the attached script with those changes in place a try, please.

(In the future, please provide all files the script relies on (images etc.), so it's actually possible for me to run the script.)
By Dave - 4/19/2019

Finerate12 - Friday, April 19, 2019
Dave - Friday, April 19, 2019
[quote]
Finerate12 - Friday, April 19, 2019
Hi Dave!

I'm using Inquisit for the first time and my script is almost finished, however I do not seem to get 1 thing right. My research involves an emotion categorisation task, where participants view a picture and then have to click either A (emotion 1) or L (emotion 2). My experiment runs fine, only when I analyse the data with SPSS, I find that not all pictures are shown equally. As you will see in my script, I have 16 individuals who all show 2 emotions (32 faces) and I want each emotional expression to run twice so I have 64 trials in each block which makes a total of 128 trials. Also, I have 16 practice trials for each block so 32 practice trials in total.

I used noreplace in the script and I read somewhere on this forum that in order to counterbalance correctly '/onblockend.(expression).reset' could be used, however when I try this my script gives me an error. Could u please help me how to solve this? I use a MacBook Pro with Inquisit 5.

Kind regards!

You will want to reset the various <picture> elements' selection pools either at the end of the practice blocks or at the start of the test blocks. In addition, you'll want to avoid dots in element names.

<block SadAngry_oefen>
/ preinstructions = (oefen, oefen_SadAngry)
/ trials = [1-16 = noreplace (Old_Sad_l, Young_Sad_l, Old_Angry_r, Young_Angry_r)]
/ onblockbegin = [values.reminder_left = "Sad"; values.reminder_right = "Angry"]
</block>

<block SadAngry>
/ onblockbegin = [
picture.Old_Angry_l.resetselection():
picture.Old_Angry_r.resetselection():
picture.Old_Sad_l.resetselection();
picture.Old_Sad_r.resetselection();
picture.Young_Angry_l.resetselection();
picture.Young_Angry_r.resetselection();
picture.Young_Sad_l.resetselection();
picture.Young_Sad_r.resetselection();
]
/ preinstructions = (test, test_SadAngry)
/ trials = [1-64 = noreplace (Old_Sad_l, Young_Sad_l, Old_Angry_r, Young_Angry_r)]
/ onblockbegin = [values.reminder_left = "Sad"; values.reminder_right = "Angry"]
</block>

<block AngrySad_oefen>
/ preinstructions = (oefen, oefen_AngrySad)
/ trials = [1-16 = noreplace (Old_Sad_r, Young_Sad_r, Old_Angry_l, Young_Angry_l)]
/ onblockbegin = [values.reminder_left = "Angry"; values.reminder_right = "Sad"]
</block>

<block AngrySad>
/ onblockbegin = [
picture.Old_Angry_l.resetselection():
picture.Old_Angry_r.resetselection():
picture.Old_Sad_l.resetselection();
picture.Old_Sad_r.resetselection();
picture.Young_Angry_l.resetselection();
picture.Young_Angry_r.resetselection();
picture.Young_Sad_l.resetselection();
picture.Young_Sad_r.resetselection();
]
/ preinstructions = (test, test_AngrySad)
/ trials = [1-64 = noreplace (Old_Sad_r, Young_Sad_r, Old_Angry_l, Young_Angry_l)]
/ onblockbegin = [values.reminder_left = "Angry"; values.reminder_right = "Sad"]
</block>

Give the attached script with those changes in place a try, please.

(In the future, please provide all files the script relies on (images etc.), so it's actually possible for me to run the script.)

Hi Dave!

Thank you for reacting so quickly! I tried these changes with the pictures, and although I do get a better distribution than previously, it is still not perfectly equal..

I have added the pictures so you can run the script. I did compress them to very poor quality but otherwise I could not upload them.

Again, thanks again for your advise!

Kind Regards,



My bad. Typo in the script led to two picture elements' selection not being reset:

/ onblockbegin = [
picture.Old_Angry_l.resetselection():
picture.Old_Angry_r.resetselection():
picture.Old_Sad_l.resetselection();
picture.Old_Sad_r.resetselection();
picture.Young_Angry_l.resetselection();
picture.Young_Angry_r.resetselection();
picture.Young_Sad_l.resetselection();
picture.Young_Sad_r.resetselection();
]

Those should be semicolons.

Fixed in the attached.
(Next time, please put any images into a ZIP and attach that single archive instead of attaching dozens of images separately. Thanks!)
By Finerate12 - 4/19/2019

Dave - Friday, April 19, 2019
Finerate12 - Friday, April 19, 2019
Dave - Friday, April 19, 2019
[quote]
Finerate12 - Friday, April 19, 2019
Hi Dave!

I'm using Inquisit for the first time and my script is almost finished, however I do not seem to get 1 thing right. My research involves an emotion categorisation task, where participants view a picture and then have to click either A (emotion 1) or L (emotion 2). My experiment runs fine, only when I analyse the data with SPSS, I find that not all pictures are shown equally. As you will see in my script, I have 16 individuals who all show 2 emotions (32 faces) and I want each emotional expression to run twice so I have 64 trials in each block which makes a total of 128 trials. Also, I have 16 practice trials for each block so 32 practice trials in total.

I used noreplace in the script and I read somewhere on this forum that in order to counterbalance correctly '/onblockend.(expression).reset' could be used, however when I try this my script gives me an error. Could u please help me how to solve this? I use a MacBook Pro with Inquisit 5.

Kind regards!

You will want to reset the various <picture> elements' selection pools either at the end of the practice blocks or at the start of the test blocks. In addition, you'll want to avoid dots in element names.

<block SadAngry_oefen>
/ preinstructions = (oefen, oefen_SadAngry)
/ trials = [1-16 = noreplace (Old_Sad_l, Young_Sad_l, Old_Angry_r, Young_Angry_r)]
/ onblockbegin = [values.reminder_left = "Sad"; values.reminder_right = "Angry"]
</block>

<block SadAngry>
/ onblockbegin = [
picture.Old_Angry_l.resetselection():
picture.Old_Angry_r.resetselection():
picture.Old_Sad_l.resetselection();
picture.Old_Sad_r.resetselection();
picture.Young_Angry_l.resetselection();
picture.Young_Angry_r.resetselection();
picture.Young_Sad_l.resetselection();
picture.Young_Sad_r.resetselection();
]
/ preinstructions = (test, test_SadAngry)
/ trials = [1-64 = noreplace (Old_Sad_l, Young_Sad_l, Old_Angry_r, Young_Angry_r)]
/ onblockbegin = [values.reminder_left = "Sad"; values.reminder_right = "Angry"]
</block>

<block AngrySad_oefen>
/ preinstructions = (oefen, oefen_AngrySad)
/ trials = [1-16 = noreplace (Old_Sad_r, Young_Sad_r, Old_Angry_l, Young_Angry_l)]
/ onblockbegin = [values.reminder_left = "Angry"; values.reminder_right = "Sad"]
</block>

<block AngrySad>
/ onblockbegin = [
picture.Old_Angry_l.resetselection():
picture.Old_Angry_r.resetselection():
picture.Old_Sad_l.resetselection();
picture.Old_Sad_r.resetselection();
picture.Young_Angry_l.resetselection();
picture.Young_Angry_r.resetselection();
picture.Young_Sad_l.resetselection();
picture.Young_Sad_r.resetselection();
]
/ preinstructions = (test, test_AngrySad)
/ trials = [1-64 = noreplace (Old_Sad_r, Young_Sad_r, Old_Angry_l, Young_Angry_l)]
/ onblockbegin = [values.reminder_left = "Angry"; values.reminder_right = "Sad"]
</block>

Give the attached script with those changes in place a try, please.

(In the future, please provide all files the script relies on (images etc.), so it's actually possible for me to run the script.)

Hi Dave!

Thank you for reacting so quickly! I tried these changes with the pictures, and although I do get a better distribution than previously, it is still not perfectly equal..

I have added the pictures so you can run the script. I did compress them to very poor quality but otherwise I could not upload them.

Again, thanks again for your advise!

Kind Regards,



My bad. Typo in the script led to two picture elements' selection not being reset:

/ onblockbegin = [
picture.Old_Angry_l.resetselection():
picture.Old_Angry_r.resetselection():
picture.Old_Sad_l.resetselection();
picture.Old_Sad_r.resetselection();
picture.Young_Angry_l.resetselection();
picture.Young_Angry_r.resetselection();
picture.Young_Sad_l.resetselection();
picture.Young_Sad_r.resetselection();
]

Those should be semicolons.

Fixed in the attached.
(Next time, please put any images into a ZIP and attach that single archive instead of attaching dozens of images separately. Thanks!)

It works perfectly! Thanks!
By Leahjule - 4/24/2019

Dear Dave,

I have a similar problem and have tried to incorporate your suggestions into my script. This does not solve the problem for me unfortunately. I cannot figure out where it is going wrong. Maybe you could help me. I have attached my script and the photos as a zip file.

All the best,

Leah Ritterfeld
By Dave - 4/24/2019

Leahjule - Wednesday, April 24, 2019
Dear Dave,

I have a similar problem and have tried to incorporate your suggestions into my script. This does not solve the problem for me unfortunately. I cannot figure out where it is going wrong. Maybe you could help me. I have attached my script and the photos as a zip file.

All the best,

Leah Ritterfeld

It would be helpful if you could spell out what exactly isn't working and perhaps provide a data file illustrating the problem. I don't see any issue with the script, and the selection of items is as expected for me, see the attached data file.
By Leahjule - 4/24/2019

Dave - Wednesday, April 24, 2019
Leahjule - Wednesday, April 24, 2019
Dear Dave,

I have a similar problem and have tried to incorporate your suggestions into my script. This does not solve the problem for me unfortunately. I cannot figure out where it is going wrong. Maybe you could help me. I have attached my script and the photos as a zip file.

All the best,

Leah Ritterfeld

It would be helpful if you could spell out what exactly isn't working and perhaps provide a data file illustrating the problem. I don't see any issue with the script, and the selection of items is as expected for me, see the attached data file.

Dear Dave,

the script seems to work fine but as soon as I look at the data in SPSS it turns out that some pictures were presented 3, some 4, 5, and some even 6 times. Each picture should be presented an equal number of times though (each picture 4 times in total). This is what I tried to achieve with the command "noreplace" as well as with the script part you posted above. But still, in my data, as well as in your data set, the distributions are unequal. 
See the attached picture for the SPSS case summary illustrating what I mean.

All the best,
Leah
By Dave - 4/24/2019

Leahjule - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
Leahjule - Wednesday, April 24, 2019
Dear Dave,

I have a similar problem and have tried to incorporate your suggestions into my script. This does not solve the problem for me unfortunately. I cannot figure out where it is going wrong. Maybe you could help me. I have attached my script and the photos as a zip file.

All the best,

Leah Ritterfeld

It would be helpful if you could spell out what exactly isn't working and perhaps provide a data file illustrating the problem. I don't see any issue with the script, and the selection of items is as expected for me, see the attached data file.

Dear Dave,

the script seems to work fine but as soon as I look at the data in SPSS it turns out that some pictures were presented 3, some 4, 5, and some even 6 times. Each picture should be presented an equal number of times though (each picture 4 times in total). This is what I tried to achieve with the command "noreplace" as well as with the script part you posted above. But still, in my data, as well as in your data set, the distributions are unequal. 
See the attached picture for the SPSS case summary illustrating what I mean.

All the best,
Leah

The distribution in the data set I attached is not unequal. To the contrary, it's exactly what it's supposed to be.

You of course must only consider the two 64-trial test blocks and  need to exclude the two 8-trial practice blocks from your summary counts. Those obviously can only present a subset of images from the larger pool.

I've attached an Excel file of the data file I attached to my previous response. The practice blocks have been removed, and the data is sorted by the stimulusitem4 column. As you can see, each image is presented exactly 4 times.
By Leahjule - 4/24/2019

Leahjule - Wednesday, April 24, 2019
Dear Dave,

I have a similar problem and have tried to incorporate your suggestions into my script. This does not solve the problem for me unfortunately. I cannot figure out where it is going wrong. Maybe you could help me. I have attached my script and the photos as a zip file.

All the best,

Leah Ritterfeld

I have restarted both Inquisit and SPSS and for some reason it does seem to work fine now. I have checked this two further times and the datasets from all three runs are fine. I cannot really explain what changed but for some reason it is working now. I hope it stays like this. 
Thank you so much for your help anyhow, Dave.

All the best,

Leah
By Leahjule - 4/24/2019

Dave - Wednesday, April 24, 2019
Leahjule - Wednesday, April 24, 2019
Dave - Wednesday, April 24, 2019
Leahjule - Wednesday, April 24, 2019
Dear Dave,

I have a similar problem and have tried to incorporate your suggestions into my script. This does not solve the problem for me unfortunately. I cannot figure out where it is going wrong. Maybe you could help me. I have attached my script and the photos as a zip file.

All the best,

Leah Ritterfeld

It would be helpful if you could spell out what exactly isn't working and perhaps provide a data file illustrating the problem. I don't see any issue with the script, and the selection of items is as expected for me, see the attached data file.

Dear Dave,

the script seems to work fine but as soon as I look at the data in SPSS it turns out that some pictures were presented 3, some 4, 5, and some even 6 times. Each picture should be presented an equal number of times though (each picture 4 times in total). This is what I tried to achieve with the command "noreplace" as well as with the script part you posted above. But still, in my data, as well as in your data set, the distributions are unequal. 
See the attached picture for the SPSS case summary illustrating what I mean.

All the best,
Leah

The distribution in the data set I attached is not unequal. To the contrary, it's exactly what it's supposed to be.

You of course must only consider the two 64-trial test blocks and  need to exclude the two 8-trial practice blocks from your summary counts. Those obviously can only present a subset of images from the larger pool.

I did always exclude the practice trials from the analyses. Quite possible that I forgot once but the unequal distributions kept occurring. I do get equal distributions with your dataset now as well. So I am not sure where the fault was. But it works now, weird as it is...
By Dave - 4/24/2019

Leahjule - Wednesday, April 24, 2019

I did always exclude the practice trials from the analyses. Quite possible that I forgot once but the unequal distributions kept occurring. I do get equal distributions with your dataset now as well. So I am not sure where the fault was. But it works now, weird as it is...

Can only have been some SPSS hiccup with respect to the data set I posted -- I checked the counts in multiple ways, using different applications as well as counting occurences by hand (always the same result, 4 instances of each item). That makes me fairly certain that at least the script is performing as it should now.
By Leahjule - 4/24/2019

Dave - Wednesday, April 24, 2019
Leahjule - Wednesday, April 24, 2019

I did always exclude the practice trials from the analyses. Quite possible that I forgot once but the unequal distributions kept occurring. I do get equal distributions with your dataset now as well. So I am not sure where the fault was. But it works now, weird as it is...

Can only have been some SPSS hiccup with respect to the data set I posted -- I checked the counts in multiple ways, using different applications as well as counting occurences by hand (always the same result, 4 instances of each item). That makes me fairly certain that at least the script is performing as it should now.

I've also given it a few tries, everything seems to be working. Thank you so much for your help, it is greatly appreciated! :)

Leah