Can't figure out error in Inquisit data file for dot probe task


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: 109K
> Is there any modification I could make to solve this problem?

There are any number of things you can do, such as moving your /ontrialend attributes from the <block> to the <trial> level or adjust the conditional logic such that it doesn't fire when there's no response

/ ontrialend = [if (values.whichtrial == 0 && block.pre1.latency < 200 && block.pre1.response != 0) values.frequency200_incong_block1_pre = values.frequency200_incong_block1_pre + 1]
Nadine
Nadine
Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)
Group: Forum Members
Posts: 15, Visits: 128
Ah, thanks, Dave! That clears it up.

Is there any modification I could make to solve this problem? Or should I just subtract the number of overall trials from the end value?

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: 109K
#1: the block.blockname.latency returns the last latency for the respective block. That includes any and all trial elements run by said block, whether they collect a response or not (/validresponse=(noresponse)).

#2: When /timeout is specified, latency = timeout if no response occurs. E.g. for

<trial NeutralTop_neutnegOneDotTop>
/ stimulustimes = [1 = neutraltop_neutneg, negativebottom_neutneg]
/ responsetrial = (noresponse, OneDotTop)
/ ontrialbegin = [values.whichtrial = 0]
/ recorddata = false
/ timeout = 100
/ ontrialbegin = [values.threat_up_pre = 0]
</trial>

latency *will always be 100ms* and that's what the block-level latency property (#1 above) will return.

#3: /ontrialend or /ontrialbegin attributes specified at the block-level

<block pre1>
[...]
/ ontrialend = [...]
[...]
</block>

apply to *all <trial> elements* run by the block. In other words, they are executed in every trial.

#4: It follows that a statement like

/ ontrialend = [if (values.whichtrial == 0 && block.pre1.latency < 200) values.frequency200_incong_block1_pre = values.frequency200_incong_block1_pre + 1]

will always be true due to #1 to #3 above.



Nadine
Nadine
Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)Esteemed Member (1.6K reputation)
Group: Forum Members
Posts: 15, Visits: 128
Hello,

I have recently implemented a dot probe task with Inquisit. Because the original dot probe measure was already used last year and programmed with Inquisit 3, the updated version is also an Inquisit 3 data file. We've conducted a study using three different versions of this task which only differ in their stimulus presentation time (100 msec, 500 msec and 1250 msec).

We are currently analyzing the data and I have encountered some kind of error for which I can't identify the cause which is why I am writing here in this forum.

We record the amounts of time a participant responds to the dot probe "too quickly" (i.e. faster than 200 msec) in a variable called frequency200. The problem is that this variable is not counted correctly - but ONLY in the 100msec version of the dot probe (all three types are in separate exp files and only differ in the timeout command in the trials). We have a similar variable that counts responses that are "too slow" (i.e. slower than 2000 msec) and this variable is recorded correctly even in the 100 msec version of the task.

I have checked the exp file and can't identify an error. The command is for example:
/ ontrialend = [if (values.whichtrial == 1 && block.pre1.latency < 200) values.frequency200_cong_block1_pre = values.frequency200_cong_block1_pre + 1]
I looked into the raw data files and saw that the variable increases by 1 every time the trial is of the correct trial type (identified by the values.whichtrial code) but regardless of whether the trial is correct (which was expected) or what the latency of the trial was (which was not expected). The error occurs for every single one of the frequency200 variables but never for the frequency2000 variable for which the command is similar:
/ ontrialend = [if (values.whichtrial == 1 && block.pre1.latency > 2000) values.frequency2000_cong_block1_pre = values.frequency2000_cong_block1_pre + 1]

I thought it might have been a bug by Inquisit but the thing is that we use an almost exact copy of the same exp file for the 500 and 1250 msec version and the error never occurs in any of those files... Also, we have used five separate laptops for data acquisition and the error occurs on all of the laptops for every single participant who was in the 100 msec condition.

If anyone had any idea what the error might be or where else in the file I could look to identify it, it would be much appreciated.

I have attached the exp file for the 100 msec dot probe version but it is very long. To explain some of it: We have created 8 blocks of 24 trials (see "block1" above e.g.), each block consists of 8 trials with negative and neutral stimuli where the dot probe appears behind the negative stimulus ("cong"), negative-neutral trials with the dot probe behind the neutral stimulus ("incong") and trials with a pair of two neutral stimuli ("neut"). In the variable "whichtrial" 0 means incongruent, 1 means congruent and 2 means neutral.

Regards, Nadine

Attachments
Pretest_100.exp (184 views, 185.00 KB)
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search