Use of a counter


Author
Message
Leena
Leena
Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)
Group: Forum Members
Posts: 6, Visits: 36
Hello,
We would like to conduct an experiment where a fixed number of images are shown in a fixed sequence. After every single picture a question is to be answered. These picture-question sequences come in 4 different variations. Each of the variants is to be shown exactly once in random order. Actually, we would like to include a pause after half of the runs, but unfortunately this results in some sequences being shown more often and some not at all. We tried to solve the problem by using a counter, which unfortunately didn't work. Because of the structure of the script, I am not sure how to make the connection between the first and second block. Is there another solution or is the problem in the structure of our script?

<expt>
/ blocks = [1= einfuehrung; 2-3= noreplace (practice1, practice2, practice3, practice4); 4= break; 5-6 =noreplace(practice1, practice2, practice3, practice4)]
</expt>

<block practice1>
/trials = [1-11 = list.practicelist1]
</block>

<block practice2>
/trials = [1-11 = list.practicelist2]
</block>

<block practice3>
/trials = [1-11 = list.practicelist3]
</block>

<block practice4>
/trials = [1-11 = list.practicelist4]
</block>


<block break>
/ preinstructions = (break)
</block>

<counter expt>
/ select = noreplacenorepeat
/ items = (block.practice1, block.practice2, block.practice3, block.practice4)
/ resetinterval = 0
</counter>

***listspractice***

<list practicelist1>
/items = (trial.test11, trial.test12, trial.test13)
/ selectionmode = sequence
</list>

<list practicelist2>
/items = (trial.test21, trial.test22, trial.test23)
/ selectionmode = sequence
</list>

<list practicelist3>
/items = (trial.test31, trial.test32, trial.test33)
/ selectionmode = sequence
</list>

<list practicelist4>
/items = (trial.test41, trial.test42, trial.test43)
/ selectionmode = sequence
</list>

***trials***
<trial test11>
/ stimulustimes = [0=fixation; 500=erasefixation, test11; 2000=erasevideo, b1, b2, b3, question2]
/ beginresponsetime = 2000
/ inputdevice = mouse
/ validresponse = (b1, b2, b3)
</trial>

<trial test12>
/ stimulustimes = [0=fixation; 500=erasefixation, test12; 2000=erasevideo, b1, b2, b3, question2]
/ beginresponsetime = 2000
/ inputdevice = mouse
/ validresponse = (b1, b2, b3)
</trial>

<trial test13>
/ stimulustimes = [0=fixation; 500=erasefixation, test13; 2000=erasevideo, b1, b2, b3, question2]
/ beginresponsetime = 2000
/ inputdevice = mouse
/ validresponse = (b1, b2, b3)
</trial>
...

Thanks a lot for the help! 
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: 12K, Visits: 98K
Leena - 6/15/2022
Hello,
We would like to conduct an experiment where a fixed number of images are shown in a fixed sequence. After every single picture a question is to be answered. These picture-question sequences come in 4 different variations. Each of the variants is to be shown exactly once in random order. Actually, we would like to include a pause after half of the runs, but unfortunately this results in some sequences being shown more often and some not at all. We tried to solve the problem by using a counter, which unfortunately didn't work. Because of the structure of the script, I am not sure how to make the connection between the first and second block. Is there another solution or is the problem in the structure of our script?

<expt>
/ blocks = [1= einfuehrung; 2-3= noreplace (practice1, practice2, practice3, practice4); 4= break; 5-6 =noreplace(practice1, practice2, practice3, practice4)]
</expt>

<block practice1>
/trials = [1-11 = list.practicelist1]
</block>

<block practice2>
/trials = [1-11 = list.practicelist2]
</block>

<block practice3>
/trials = [1-11 = list.practicelist3]
</block>

<block practice4>
/trials = [1-11 = list.practicelist4]
</block>


<block break>
/ preinstructions = (break)
</block>

<counter expt>
/ select = noreplacenorepeat
/ items = (block.practice1, block.practice2, block.practice3, block.practice4)
/ resetinterval = 0
</counter>

***listspractice***

<list practicelist1>
/items = (trial.test11, trial.test12, trial.test13)
/ selectionmode = sequence
</list>

<list practicelist2>
/items = (trial.test21, trial.test22, trial.test23)
/ selectionmode = sequence
</list>

<list practicelist3>
/items = (trial.test31, trial.test32, trial.test33)
/ selectionmode = sequence
</list>

<list practicelist4>
/items = (trial.test41, trial.test42, trial.test43)
/ selectionmode = sequence
</list>

***trials***
<trial test11>
/ stimulustimes = [0=fixation; 500=erasefixation, test11; 2000=erasevideo, b1, b2, b3, question2]
/ beginresponsetime = 2000
/ inputdevice = mouse
/ validresponse = (b1, b2, b3)
</trial>

<trial test12>
/ stimulustimes = [0=fixation; 500=erasefixation, test12; 2000=erasevideo, b1, b2, b3, question2]
/ beginresponsetime = 2000
/ inputdevice = mouse
/ validresponse = (b1, b2, b3)
</trial>

<trial test13>
/ stimulustimes = [0=fixation; 500=erasefixation, test13; 2000=erasevideo, b1, b2, b3, question2]
/ beginresponsetime = 2000
/ inputdevice = mouse
/ validresponse = (b1, b2, b3)
</trial>
...

Thanks a lot for the help! 

<expt>
/ blocks = [1= einfuehrung; 2-3= noreplace (practice1, practice2, practice3, practice4); 4= break; 5-6 =noreplace(practice1, practice2, practice3, practice4)]
</expt>

is wrong.

What you want is:

<expt>
/ blocks = [1= einfuehrung; 2,3,5,6= noreplace (practice1, practice2, practice3, practice4); 4= break;]
</expt>

There is no need for a <counter>, which you should not be using anyway. <list> elements are the more flexible replacements for <counter>s. Consider <counter> elements as deprecated, they only still exist to preserve compatibility with old scripts.

Leena
Leena
Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)Associate Member (68 reputation)
Group: Forum Members
Posts: 6, Visits: 36
Ah, thanks a lot!! 
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search