By Sean L. - 9/15/2018
Hi all,
I would like to put a single same picture, which is randomized and selected, in multiple survey pages.
Here's the issue:
If I randomized and selected pictures just like
<picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture>
and put this picC into different survey pages (I would like to separate surveypages),
<surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage>
<surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage>
Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio).
Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace?
|
By Dave - 9/16/2018
+xHi all, I would like to put a single same picture, which is randomized and selected, in multiple survey pages. Here's the issue: If I randomized and selected pictures just like <picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture> and put this picC into different survey pages (I would like to separate surveypages), <surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage> <surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage> Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio). Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace? Yes, you need a <list> containing the item numbers and a value for selection. Sample an item number from the list in the 1st surveypage (and only the 1st page), store it in a value, and you'll have the same item displayed on both pages.
<picture picC> /items = targetComb / select = values.piccitemnumber / size = (70%, 70%) / position = (70%, 60%) </picture>
// we have 30 items, numbered 1 to 30 <list piccitemnumbers> / poolsize = 30 </list>
<values> / piccitemnumber = 1 </values>
<surveypage slider> / ontrialbegin = [ values.piccitemnumber = list.piccitemnumbers.nextindex; ] / stimulusframes = [1= picC] </surveypage>
<surveypage radio> / stimulusframes = [1= picC] </surveypage>
<block myblock> / trials = [1-30 = sequence(slider, radio)] </block>
|
By Sean L. - 9/17/2018
+x+xHi all, I would like to put a single same picture, which is randomized and selected, in multiple survey pages. Here's the issue: If I randomized and selected pictures just like <picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture> and put this picC into different survey pages (I would like to separate surveypages), <surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage> <surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage> Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio). Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace? Yes, you need a <list> containing the item numbers and a value for selection. Sample an item number from the list in the 1st surveypage (and only the 1st page), store it in a value, and you'll have the same item displayed on both pages. <picture picC> /items = targetComb / select = values.piccitemnumber/ size = (70%, 70%) / position = (70%, 60%) </picture> // we have 30 items, numbered 1 to 30 <list piccitemnumbers> / poolsize = 30 </list> <values> / piccitemnumber = 1 </values><surveypage slider> / ontrialbegin = [ values.piccitemnumber = list.piccitemnumbers.nextindex; ]/ stimulusframes = [1= picC] </surveypage> <surveypage radio> / stimulusframes = [1= picC] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> Thank you so much Dave. It works well.
I have one more question: I tried to select stimuli from two different groups (15 from each) and store them into the value element as you said,
<picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture>
<picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture>
<list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list>
<values> /picBWItemNumber = 1 </values>
<list picBWItemNumbers> / poolsize = 30 </list>
<surveypage slider> / ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextindex ] / stimulusframes = [1= list.picBW] </surveypage>
<surveypage radio> / stimulusframes = [1= list.picBW] </surveypage>
and it said "list.picBW is not type of stimulus" even though the list element is used in stimulusframes attribute in Inquisit5 manual (https://www.millisecond.com/support/docs/v5/html/language/attributes/stimulusframes.htm)
Could you please give me any hint?
|
By Dave - 9/17/2018
+x+x+xHi all, I would like to put a single same picture, which is randomized and selected, in multiple survey pages. Here's the issue: If I randomized and selected pictures just like <picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture> and put this picC into different survey pages (I would like to separate surveypages), <surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage> <surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage> Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio). Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace? Yes, you need a <list> containing the item numbers and a value for selection. Sample an item number from the list in the 1st surveypage (and only the 1st page), store it in a value, and you'll have the same item displayed on both pages. <picture picC> /items = targetComb / select = values.piccitemnumber/ size = (70%, 70%) / position = (70%, 60%) </picture> // we have 30 items, numbered 1 to 30 <list piccitemnumbers> / poolsize = 30 </list> <values> / piccitemnumber = 1 </values><surveypage slider> / ontrialbegin = [ values.piccitemnumber = list.piccitemnumbers.nextindex; ]/ stimulusframes = [1= picC] </surveypage> <surveypage radio> / stimulusframes = [1= picC] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> Thank you so much Dave. It works well. I have one more question: I tried to select stimuli from two different groups (15 from each) and store them into the value element as you said, <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 </values> <list picBWItemNumbers> / poolsize = 30 </list> <surveypage slider>/ ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextindex ]/ stimulusframes = [1= list.picBW]</surveypage><surveypage radio>/ stimulusframes = [1= list.picBW]</surveypage>
and it said "list.picBW is not type of stimulus" even though the list element is used in stimulusframes attribute in Inquisit5 manual ( https://www.millisecond.com/support/docs/v5/html/language/attributes/stimulusframes.htm)Could you please give me any hint? This code doesn't make sense in context.
<list picBWItemNumbers> / poolsize = 30 </list>
returns a number between 1 and 30, but
<list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list>
does NOT have 30 items, it only has two: picture.picB and picture.picW. So what you need the list to contain is 15 times the number 1, and 15 times the number 2. You need separate lists and a value for the 15 items that picture.picB and picture.picW hold respectively. Then just sample an item number from the applicable list. In summary:
<picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture>
<picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture>
<list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list>
<values> /picBWItemNumber = 1 /picnum = 1 </values>
<list picBWItemNumbers> / items = (1,2) / poolsize = 30 </list>
<list Bitemnumbers> / poolsize = 15 </list>
<list Witemnumbers> / poolsize = 15 </list>
<surveypage slider> / ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextvalue; ] / ontrialbegin = [ if (values.picBWItemNumber == 1) values.picnum = list.Bitemnumbers.nextindex; if (values.picBWItemNumber == 2) values.picnum = list.Witemnumbers.nextindex; ] / stimulusframes = [1= list.picBW] </surveypage>
<surveypage radio> / stimulusframes = [1= list.picBW] </surveypage>
<block myblock> / trials = [1-30 = sequence(slider, radio)] </block>
<item targetB> / 1 = "b01.jpg" / 2 = "b02.jpg" / 3 = "b03.jpg" / 4 = "b04.jpg" / 5 = "b05.jpg" / 6 = "b06.jpg" / 7 = "b07.jpg" / 8 = "b08.jpg" / 9 = "b09.jpg" / 10 = "b10.jpg" / 11 = "b11.jpg" / 12 = "b12.jpg" / 13 = "b13.jpg" / 14 = "b14.jpg" / 15 = "b15.jpg" </item>
<item targetW> / 1 = "w01.jpg" / 2 = "w02.jpg" / 3 = "w03.jpg" / 4 = "w04.jpg" / 5 = "w05.jpg" / 6 = "w06.jpg" / 7 = "w07.jpg" / 8 = "w08.jpg" / 9 = "w09.jpg" / 10 = "w10.jpg" / 11 = "w11.jpg" / 12 = "w12.jpg" / 13 = "w13.jpg" / 14 = "w14.jpg" / 15 = "w15.jpg" </item>
|
By Sean L. - 9/17/2018
+x+x+x+xHi all, I would like to put a single same picture, which is randomized and selected, in multiple survey pages. Here's the issue: If I randomized and selected pictures just like <picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture> and put this picC into different survey pages (I would like to separate surveypages), <surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage> <surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage> Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio). Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace? Yes, you need a <list> containing the item numbers and a value for selection. Sample an item number from the list in the 1st surveypage (and only the 1st page), store it in a value, and you'll have the same item displayed on both pages. <picture picC> /items = targetComb / select = values.piccitemnumber/ size = (70%, 70%) / position = (70%, 60%) </picture> // we have 30 items, numbered 1 to 30 <list piccitemnumbers> / poolsize = 30 </list> <values> / piccitemnumber = 1 </values><surveypage slider> / ontrialbegin = [ values.piccitemnumber = list.piccitemnumbers.nextindex; ]/ stimulusframes = [1= picC] </surveypage> <surveypage radio> / stimulusframes = [1= picC] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> Thank you so much Dave. It works well. I have one more question: I tried to select stimuli from two different groups (15 from each) and store them into the value element as you said, <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 </values> <list picBWItemNumbers> / poolsize = 30 </list> <surveypage slider>/ ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextindex ]/ stimulusframes = [1= list.picBW]</surveypage><surveypage radio>/ stimulusframes = [1= list.picBW]</surveypage>
and it said "list.picBW is not type of stimulus" even though the list element is used in stimulusframes attribute in Inquisit5 manual ( https://www.millisecond.com/support/docs/v5/html/language/attributes/stimulusframes.htm)Could you please give me any hint? This code doesn't make sense in context. <list picBWItemNumbers> / poolsize = 30 </list> returns a number between 1 and 30, but <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> does NOT have 30 items, it only has two: picture.picB and picture.picW. So what you need the list to contain is 15 times the number 1, and 15 times the number 2. You need separate lists and a value for the 15 items that picture.picB and picture.picW hold respectively. Then just sample an item number from the applicable list. In summary: <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 /picnum = 1 </values> <list picBWItemNumbers> / items = (1,2) / poolsize = 30 </list> <list Bitemnumbers> / poolsize = 15 </list> <list Witemnumbers> / poolsize = 15 </list> <surveypage slider> / ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextvalue; ] / ontrialbegin = [ if (values.picBWItemNumber == 1) values.picnum = list.Bitemnumbers.nextindex; if (values.picBWItemNumber == 2) values.picnum = list.Witemnumbers.nextindex; ] / stimulusframes = [1= list.picBW] </surveypage> <surveypage radio> / stimulusframes = [1= list.picBW] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> <item targetB> / 1 = "b01.jpg" / 2 = "b02.jpg" / 3 = "b03.jpg" / 4 = "b04.jpg" / 5 = "b05.jpg" / 6 = "b06.jpg" / 7 = "b07.jpg" / 8 = "b08.jpg" / 9 = "b09.jpg" / 10 = "b10.jpg" / 11 = "b11.jpg" / 12 = "b12.jpg" / 13 = "b13.jpg" / 14 = "b14.jpg" / 15 = "b15.jpg" </item> <item targetW> / 1 = "w01.jpg" / 2 = "w02.jpg" / 3 = "w03.jpg" / 4 = "w04.jpg" / 5 = "w05.jpg" / 6 = "w06.jpg" / 7 = "w07.jpg" / 8 = "w08.jpg" / 9 = "w09.jpg" / 10 = "w10.jpg" / 11 = "w11.jpg" / 12 = "w12.jpg" / 13 = "w13.jpg" / 14 = "w14.jpg" / 15 = "w15.jpg" </item> It works !! Thank you so much. I appreciate it.
|
By Sean L. - 10/4/2018
+x+x+x+xHi all, I would like to put a single same picture, which is randomized and selected, in multiple survey pages. Here's the issue: If I randomized and selected pictures just like <picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture> and put this picC into different survey pages (I would like to separate surveypages), <surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage> <surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage> Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio). Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace? Yes, you need a <list> containing the item numbers and a value for selection. Sample an item number from the list in the 1st surveypage (and only the 1st page), store it in a value, and you'll have the same item displayed on both pages. <picture picC> /items = targetComb / select = values.piccitemnumber/ size = (70%, 70%) / position = (70%, 60%) </picture> // we have 30 items, numbered 1 to 30 <list piccitemnumbers> / poolsize = 30 </list> <values> / piccitemnumber = 1 </values><surveypage slider> / ontrialbegin = [ values.piccitemnumber = list.piccitemnumbers.nextindex; ]/ stimulusframes = [1= picC] </surveypage> <surveypage radio> / stimulusframes = [1= picC] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> Thank you so much Dave. It works well. I have one more question: I tried to select stimuli from two different groups (15 from each) and store them into the value element as you said, <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 </values> <list picBWItemNumbers> / poolsize = 30 </list> <surveypage slider>/ ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextindex ]/ stimulusframes = [1= list.picBW]</surveypage><surveypage radio>/ stimulusframes = [1= list.picBW]</surveypage>
and it said "list.picBW is not type of stimulus" even though the list element is used in stimulusframes attribute in Inquisit5 manual ( https://www.millisecond.com/support/docs/v5/html/language/attributes/stimulusframes.htm)Could you please give me any hint? This code doesn't make sense in context. <list picBWItemNumbers> / poolsize = 30 </list> returns a number between 1 and 30, but <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> does NOT have 30 items, it only has two: picture.picB and picture.picW. So what you need the list to contain is 15 times the number 1, and 15 times the number 2. You need separate lists and a value for the 15 items that picture.picB and picture.picW hold respectively. Then just sample an item number from the applicable list. In summary: <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 /picnum = 1 </values> <list picBWItemNumbers> / items = (1,2) / poolsize = 30 </list> <list Bitemnumbers> / poolsize = 15 </list> <list Witemnumbers> / poolsize = 15 </list> <surveypage slider> / ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextvalue; ] / ontrialbegin = [ if (values.picBWItemNumber == 1) values.picnum = list.Bitemnumbers.nextindex; if (values.picBWItemNumber == 2) values.picnum = list.Witemnumbers.nextindex; ] / stimulusframes = [1= list.picBW] </surveypage> <surveypage radio> / stimulusframes = [1= list.picBW] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> <item targetB> / 1 = "b01.jpg" / 2 = "b02.jpg" / 3 = "b03.jpg" / 4 = "b04.jpg" / 5 = "b05.jpg" / 6 = "b06.jpg" / 7 = "b07.jpg" / 8 = "b08.jpg" / 9 = "b09.jpg" / 10 = "b10.jpg" / 11 = "b11.jpg" / 12 = "b12.jpg" / 13 = "b13.jpg" / 14 = "b14.jpg" / 15 = "b15.jpg" </item> <item targetW> / 1 = "w01.jpg" / 2 = "w02.jpg" / 3 = "w03.jpg" / 4 = "w04.jpg" / 5 = "w05.jpg" / 6 = "w06.jpg" / 7 = "w07.jpg" / 8 = "w08.jpg" / 9 = "w09.jpg" / 10 = "w10.jpg" / 11 = "w11.jpg" / 12 = "w12.jpg" / 13 = "w13.jpg" / 14 = "w14.jpg" / 15 = "w15.jpg" </item> Hi Dave, I am sorry but I need to ask another dumb question. It works very well, but I found that the label of stimulus is missing in default saving data. So I tried to save the data by using <data>, but it did not work as well.
<data> /file = "sliders_data.iqdat" /columns = [date, time, group, subject, blockcode, blocknum, trialcode, trialnum, response, correct, latency, values.picnum, stimulusnumber, stimulusitem] /separatefiles = true </data>
This code gives me only one subject data (only one line) - maybe very last one?. Could you please give me any clue? Either default or <data> saving is fine.
By the way, in Inquisit Web, when I wanted to change the code and see the result, I needed to change the whole script not a single file (even if I deleted a certain file from the list, it worked). Is there any other way that I can see the result more quickly?
|
By Dave - 10/4/2018
+x+x+x+x+xHi all, I would like to put a single same picture, which is randomized and selected, in multiple survey pages. Here's the issue: If I randomized and selected pictures just like <picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture> and put this picC into different survey pages (I would like to separate surveypages), <surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage> <surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage> Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio). Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace? Yes, you need a <list> containing the item numbers and a value for selection. Sample an item number from the list in the 1st surveypage (and only the 1st page), store it in a value, and you'll have the same item displayed on both pages. <picture picC> /items = targetComb / select = values.piccitemnumber/ size = (70%, 70%) / position = (70%, 60%) </picture> // we have 30 items, numbered 1 to 30 <list piccitemnumbers> / poolsize = 30 </list> <values> / piccitemnumber = 1 </values><surveypage slider> / ontrialbegin = [ values.piccitemnumber = list.piccitemnumbers.nextindex; ]/ stimulusframes = [1= picC] </surveypage> <surveypage radio> / stimulusframes = [1= picC] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> Thank you so much Dave. It works well. I have one more question: I tried to select stimuli from two different groups (15 from each) and store them into the value element as you said, <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 </values> <list picBWItemNumbers> / poolsize = 30 </list> <surveypage slider>/ ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextindex ]/ stimulusframes = [1= list.picBW]</surveypage><surveypage radio>/ stimulusframes = [1= list.picBW]</surveypage>
and it said "list.picBW is not type of stimulus" even though the list element is used in stimulusframes attribute in Inquisit5 manual ( https://www.millisecond.com/support/docs/v5/html/language/attributes/stimulusframes.htm)Could you please give me any hint? This code doesn't make sense in context. <list picBWItemNumbers> / poolsize = 30 </list> returns a number between 1 and 30, but <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> does NOT have 30 items, it only has two: picture.picB and picture.picW. So what you need the list to contain is 15 times the number 1, and 15 times the number 2. You need separate lists and a value for the 15 items that picture.picB and picture.picW hold respectively. Then just sample an item number from the applicable list. In summary: <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 /picnum = 1 </values> <list picBWItemNumbers> / items = (1,2) / poolsize = 30 </list> <list Bitemnumbers> / poolsize = 15 </list> <list Witemnumbers> / poolsize = 15 </list> <surveypage slider> / ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextvalue; ] / ontrialbegin = [ if (values.picBWItemNumber == 1) values.picnum = list.Bitemnumbers.nextindex; if (values.picBWItemNumber == 2) values.picnum = list.Witemnumbers.nextindex; ] / stimulusframes = [1= list.picBW] </surveypage> <surveypage radio> / stimulusframes = [1= list.picBW] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> <item targetB> / 1 = "b01.jpg" / 2 = "b02.jpg" / 3 = "b03.jpg" / 4 = "b04.jpg" / 5 = "b05.jpg" / 6 = "b06.jpg" / 7 = "b07.jpg" / 8 = "b08.jpg" / 9 = "b09.jpg" / 10 = "b10.jpg" / 11 = "b11.jpg" / 12 = "b12.jpg" / 13 = "b13.jpg" / 14 = "b14.jpg" / 15 = "b15.jpg" </item> <item targetW> / 1 = "w01.jpg" / 2 = "w02.jpg" / 3 = "w03.jpg" / 4 = "w04.jpg" / 5 = "w05.jpg" / 6 = "w06.jpg" / 7 = "w07.jpg" / 8 = "w08.jpg" / 9 = "w09.jpg" / 10 = "w10.jpg" / 11 = "w11.jpg" / 12 = "w12.jpg" / 13 = "w13.jpg" / 14 = "w14.jpg" / 15 = "w15.jpg" </item> Hi Dave, I am sorry but I need to ask another dumb question. It works very well, but I found that the label of stimulus is missing in default saving data. So I tried to save the data by using <data>, but it did not work as well. <data> /file = "sliders_data.iqdat" /columns = [date, time, group, subject, blockcode, blocknum, trialcode, trialnum, response, correct, latency, values.picnum, stimulusnumber, stimulusitem] /separatefiles = true </data> This code gives me only one subject data (only one line) - maybe very last one?. Could you please give me any clue? Either default or <data> saving is fine. By the way, in Inquisit Web, when I wanted to change the code and see the result, I needed to change the whole script not a single file (even if I deleted a certain file from the list, it worked). Is there any other way that I can see the result more quickly? > This code gives me only one subject data (only one line) - maybe very last one?
I don't understand what this means. Please give a concrete example. The very last one of what?
> By the way, in Inquisit Web, when I wanted to change the code and see the result, I needed to change the whole script not a single file (even if I deleted a certain file from the list, it worked). Is there any other way that I can see the result more quickly?
I don't understand what this means, either. Can you please explain more clearly what exactly you are trying to do?
|
By Sean L. - 10/4/2018
+x+x+x+x+x+xHi all, I would like to put a single same picture, which is randomized and selected, in multiple survey pages. Here's the issue: If I randomized and selected pictures just like <picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture> and put this picC into different survey pages (I would like to separate surveypages), <surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage> <surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage> Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio). Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace? Yes, you need a <list> containing the item numbers and a value for selection. Sample an item number from the list in the 1st surveypage (and only the 1st page), store it in a value, and you'll have the same item displayed on both pages. <picture picC> /items = targetComb / select = values.piccitemnumber/ size = (70%, 70%) / position = (70%, 60%) </picture> // we have 30 items, numbered 1 to 30 <list piccitemnumbers> / poolsize = 30 </list> <values> / piccitemnumber = 1 </values><surveypage slider> / ontrialbegin = [ values.piccitemnumber = list.piccitemnumbers.nextindex; ]/ stimulusframes = [1= picC] </surveypage> <surveypage radio> / stimulusframes = [1= picC] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> Thank you so much Dave. It works well. I have one more question: I tried to select stimuli from two different groups (15 from each) and store them into the value element as you said, <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 </values> <list picBWItemNumbers> / poolsize = 30 </list> <surveypage slider>/ ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextindex ]/ stimulusframes = [1= list.picBW]</surveypage><surveypage radio>/ stimulusframes = [1= list.picBW]</surveypage>
and it said "list.picBW is not type of stimulus" even though the list element is used in stimulusframes attribute in Inquisit5 manual ( https://www.millisecond.com/support/docs/v5/html/language/attributes/stimulusframes.htm)Could you please give me any hint? This code doesn't make sense in context. <list picBWItemNumbers> / poolsize = 30 </list> returns a number between 1 and 30, but <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> does NOT have 30 items, it only has two: picture.picB and picture.picW. So what you need the list to contain is 15 times the number 1, and 15 times the number 2. You need separate lists and a value for the 15 items that picture.picB and picture.picW hold respectively. Then just sample an item number from the applicable list. In summary: <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 /picnum = 1 </values> <list picBWItemNumbers> / items = (1,2) / poolsize = 30 </list> <list Bitemnumbers> / poolsize = 15 </list> <list Witemnumbers> / poolsize = 15 </list> <surveypage slider> / ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextvalue; ] / ontrialbegin = [ if (values.picBWItemNumber == 1) values.picnum = list.Bitemnumbers.nextindex; if (values.picBWItemNumber == 2) values.picnum = list.Witemnumbers.nextindex; ] / stimulusframes = [1= list.picBW] </surveypage> <surveypage radio> / stimulusframes = [1= list.picBW] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> <item targetB> / 1 = "b01.jpg" / 2 = "b02.jpg" / 3 = "b03.jpg" / 4 = "b04.jpg" / 5 = "b05.jpg" / 6 = "b06.jpg" / 7 = "b07.jpg" / 8 = "b08.jpg" / 9 = "b09.jpg" / 10 = "b10.jpg" / 11 = "b11.jpg" / 12 = "b12.jpg" / 13 = "b13.jpg" / 14 = "b14.jpg" / 15 = "b15.jpg" </item> <item targetW> / 1 = "w01.jpg" / 2 = "w02.jpg" / 3 = "w03.jpg" / 4 = "w04.jpg" / 5 = "w05.jpg" / 6 = "w06.jpg" / 7 = "w07.jpg" / 8 = "w08.jpg" / 9 = "w09.jpg" / 10 = "w10.jpg" / 11 = "w11.jpg" / 12 = "w12.jpg" / 13 = "w13.jpg" / 14 = "w14.jpg" / 15 = "w15.jpg" </item> Hi Dave, I am sorry but I need to ask another dumb question. It works very well, but I found that the label of stimulus is missing in default saving data. So I tried to save the data by using <data>, but it did not work as well. <data> /file = "sliders_data.iqdat" /columns = [date, time, group, subject, blockcode, blocknum, trialcode, trialnum, response, correct, latency, values.picnum, stimulusnumber, stimulusitem] /separatefiles = true </data> This code gives me only one subject data (only one line) - maybe very last one?. Could you please give me any clue? Either default or <data> saving is fine. By the way, in Inquisit Web, when I wanted to change the code and see the result, I needed to change the whole script not a single file (even if I deleted a certain file from the list, it worked). Is there any other way that I can see the result more quickly? > This code gives me only one subject data (only one line) - maybe very last one? I don't understand what this means. Please give a concrete example. The very last one of what? > By the way, in Inquisit Web, when I wanted to change the code and see the result, I needed to change the whole script not a single file (even if I deleted a certain file from the list, it worked). Is there any other way that I can see the result more quickly? I don't understand what this means, either. Can you please explain more clearly what exactly you are trying to do? Hi Dave, sorry for the poor description.

This is an actual result from <data> code that I posted. Only one result out of 30 trials was recorded.

And this is default data from Inquisit web - as you can see, there is no stimulus column.
2. For the Inquisit web, I needed to delete the whole script and make a new script to check the output of new code. If I re-uploaded just a single file, such as sliders.iqx from the list, the output was same as previous one. I'll check this again in case I made a mistake.
|
By Dave - 10/4/2018
+x+x+x+x+x+x+xHi all, I would like to put a single same picture, which is randomized and selected, in multiple survey pages. Here's the issue: If I randomized and selected pictures just like <picture picC> /items = targetComb / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(30) </picture> and put this picC into different survey pages (I would like to separate surveypages), <surveypage slider> / stimulusframes = [1= noreplace(picC)] </surveypage> <surveypage radio> / stimulusframes = [1= noreplace(picC)] </surveypage> Inquisit selected different pictures from picC and put those pictures into each survey pages - I think Inquisit randomized piC pictures every time (maybe due to noreplace element in surveypages). I am going to run multiple surveys by combining two surveypages (slider & radio). Is there any way that I can randomize and select pictures and save those pictures in certain element so that I do not need to use noreplace? Yes, you need a <list> containing the item numbers and a value for selection. Sample an item number from the list in the 1st surveypage (and only the 1st page), store it in a value, and you'll have the same item displayed on both pages. <picture picC> /items = targetComb / select = values.piccitemnumber/ size = (70%, 70%) / position = (70%, 60%) </picture> // we have 30 items, numbered 1 to 30 <list piccitemnumbers> / poolsize = 30 </list> <values> / piccitemnumber = 1 </values><surveypage slider> / ontrialbegin = [ values.piccitemnumber = list.piccitemnumbers.nextindex; ]/ stimulusframes = [1= picC] </surveypage> <surveypage radio> / stimulusframes = [1= picC] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> Thank you so much Dave. It works well. I have one more question: I tried to select stimuli from two different groups (15 from each) and store them into the value element as you said, <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = noreplace(15) </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 </values> <list picBWItemNumbers> / poolsize = 30 </list> <surveypage slider>/ ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextindex ]/ stimulusframes = [1= list.picBW]</surveypage><surveypage radio>/ stimulusframes = [1= list.picBW]</surveypage>
and it said "list.picBW is not type of stimulus" even though the list element is used in stimulusframes attribute in Inquisit5 manual ( https://www.millisecond.com/support/docs/v5/html/language/attributes/stimulusframes.htm)Could you please give me any hint? This code doesn't make sense in context. <list picBWItemNumbers> / poolsize = 30 </list> returns a number between 1 and 30, but <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> does NOT have 30 items, it only has two: picture.picB and picture.picW. So what you need the list to contain is 15 times the number 1, and 15 times the number 2. You need separate lists and a value for the 15 items that picture.picB and picture.picW hold respectively. Then just sample an item number from the applicable list. In summary: <picture picB> / items = targetB / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <picture picW> / items = targetW / size = (70%, 70%) / position = (70%, 60%) / select = values.picnum </picture> <list picBW> /items = (picture.picB, picture.picW) /select = values.picBWItemNumber </list> <values> /picBWItemNumber = 1 /picnum = 1 </values> <list picBWItemNumbers> / items = (1,2) / poolsize = 30 </list> <list Bitemnumbers> / poolsize = 15 </list> <list Witemnumbers> / poolsize = 15 </list> <surveypage slider> / ontrialbegin = [ values.picBWItemNumber = list.picBWItemNumbers.nextvalue; ] / ontrialbegin = [ if (values.picBWItemNumber == 1) values.picnum = list.Bitemnumbers.nextindex; if (values.picBWItemNumber == 2) values.picnum = list.Witemnumbers.nextindex; ] / stimulusframes = [1= list.picBW] </surveypage> <surveypage radio> / stimulusframes = [1= list.picBW] </surveypage> <block myblock> / trials = [1-30 = sequence(slider, radio)] </block> <item targetB> / 1 = "b01.jpg" / 2 = "b02.jpg" / 3 = "b03.jpg" / 4 = "b04.jpg" / 5 = "b05.jpg" / 6 = "b06.jpg" / 7 = "b07.jpg" / 8 = "b08.jpg" / 9 = "b09.jpg" / 10 = "b10.jpg" / 11 = "b11.jpg" / 12 = "b12.jpg" / 13 = "b13.jpg" / 14 = "b14.jpg" / 15 = "b15.jpg" </item> <item targetW> / 1 = "w01.jpg" / 2 = "w02.jpg" / 3 = "w03.jpg" / 4 = "w04.jpg" / 5 = "w05.jpg" / 6 = "w06.jpg" / 7 = "w07.jpg" / 8 = "w08.jpg" / 9 = "w09.jpg" / 10 = "w10.jpg" / 11 = "w11.jpg" / 12 = "w12.jpg" / 13 = "w13.jpg" / 14 = "w14.jpg" / 15 = "w15.jpg" </item> Hi Dave, I am sorry but I need to ask another dumb question. It works very well, but I found that the label of stimulus is missing in default saving data. So I tried to save the data by using <data>, but it did not work as well. <data> /file = "sliders_data.iqdat" /columns = [date, time, group, subject, blockcode, blocknum, trialcode, trialnum, response, correct, latency, values.picnum, stimulusnumber, stimulusitem] /separatefiles = true </data> This code gives me only one subject data (only one line) - maybe very last one?. Could you please give me any clue? Either default or <data> saving is fine. By the way, in Inquisit Web, when I wanted to change the code and see the result, I needed to change the whole script not a single file (even if I deleted a certain file from the list, it worked). Is there any other way that I can see the result more quickly? > This code gives me only one subject data (only one line) - maybe very last one? I don't understand what this means. Please give a concrete example. The very last one of what? > By the way, in Inquisit Web, when I wanted to change the code and see the result, I needed to change the whole script not a single file (even if I deleted a certain file from the list, it worked). Is there any other way that I can see the result more quickly? I don't understand what this means, either. Can you please explain more clearly what exactly you are trying to do? Hi Dave, sorry for the poor description.  This is an actual result from <data> code that I posted. Only one result out of 30 trials was recorded.  And this is default data from Inquisit web - as you can see, there is no stimulus column. 2. For the Inquisit web, I needed to delete the whole script and make a new script to check the output of new code. If I re-uploaded just a single file, such as sliders.iqx from the list, the output was same as previous one. I'll check this again in case I made a mistake. Neither screengrab you posted matches the <data> element specification you posted. I do not know what you're recording there and I cannot tell you without seeing the actual code. At a minimum, please link to the web experiment, please. Thanks. Note that you *must* run your surveypages via a <block> element to have them recorded in the raw data file. The <data> element does not apply when you run them via a <survey> element.
|
By Sean L. - 10/4/2018
Then I need to see the default saving data not from <data>.
I don't know how to connect the link, so I uploaded the text file. Please let me know if you have any concern about the file.
Thank you so much for your patience.
|
|