correctstreak not resetting at the end of block


Author
Message
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: 13K, Visits: 104K
Thanks for the additional details -- that's very helpful. I can confirm your observation and will file a bug for this so this gets fixed in the next release.

As a possible workaround for the time being, note that the block-level trialcount appears to reset properly in your scenario:

<expt>
/ blocks = [1-4=block1]
</expt>

<block block1>
/ trials = [1=begin]
</block>

<block block2>
/ trials = [1=mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57,28)
/ branch = [if(response!=28) trial.mytrial]
</trial>

<trial begin>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ branch = [trial.mytrial]
</trial>

<text mytext>
/ items = ("Block # <%script.currentblocknumber%> | Trial level count <%trial.mytrial.trialcount%> | Block level count <%block.block1.trialcount%>")
</text>

Alexx
Alexx
Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)
Group: Forum Members
Posts: 10, Visits: 82
That does work. After some more testing, I've determined that trialcount does not reset when there following conditions are met (but it could be more general than that):
1) the same block element is repeated, e.g.  [1-5=block1]
2) the trial for which trialcount does not reset is branched from another trial specified in the block
I've modified your script to replicate the issue:

Note: if you change [1=begin] to [1=mytrial]  or if you insert the block1,block2 sequence, trialcount will reset.

<expt>
/ blocks = [1-4=block1]
</expt>
/ blocks = [1=sequence(block1,block2)]

<block block1>
/ trials = [1=begin]
</block>

<block block2>
/ trials = [1=mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57,28)
/ branch = [if(response!=28) trial.mytrial]
</trial>

<trial begin>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
/ branch = [trial.mytrial]
</trial>

<text mytext>
/ items = ("<%trial.mytrial.trialcount%>")
</text>

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: 13K, Visits: 104K
Thanks for the addition. Oddly enough, I cannot seem to reproduce the trialcount issue in 4.0.7.0. When running e.g.

<expt>
/ blocks = [1=block1; 2=block2]
</expt>

<block block1>
/ trials = [1-10 = mytrial]
</block>

<block block2>
/ trials = [1-10 = mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("<%trial.mytrial.trialcount%>")
</text>

trialcount resets as expected for me. The same is true for

<expt>
/ blocks = [1=block1; 2=block1 ]
</expt>

<block block1>
/ trials = [1-10 = mytrial]
</block>

<block block2>
/ trials = [1-10 = mytrial]
</block>

<trial mytrial>
/ stimulusframes = [1=mytext]
/ validresponse = (57)
</trial>

<text mytext>
/ items = ("<%trial.mytrial.trialcount%> | <%block.block1.trialcount%>")
</text>

(a) What happens when you run the above -- does it reset or not?

(b) How exactly are you using the property in your script?

Edited 10 Years Ago by Dave
Alexx
Alexx
Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)
Group: Forum Members
Posts: 10, Visits: 82
FYI, I thought it might be only correctstreak but I have another task where trialcount does not reset. Just wanted to let you know.

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: 13K, Visits: 104K
No, it's not normal -- the correctstreak should reset, but does not (which I can confirm). It's most certainly a bug.

I can think of several ways to work around this (a lot depends on your overall design), but tracking streaks via <values> certainly applies and gives you the most control / flexibility.

Alexx
Alexx
Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)Expert (1.3K reputation)
Group: Forum Members
Posts: 10, Visits: 82
I have a trial element across several different blocks that has skip = [correctstreak=3] but it does not reset once a new block starts. Is this normal? Documentation suggests that it only tracks correctsreaks within the block. Other properties are resetting normally like trialcount. (I can use a values element instead, but I want to know what the issue is). Thanks

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search