Affective 2-back Task

Technical Manual

Script Author: Katja Borchert, Ph.D. (katjab@millisecond.com), Millisecond

Created: January 17, 2022

Last Modified: January 09, 2025 by K. Borchert (katjab@millisecond.com), Millisecond

Script Copyright © Millisecond Software, LLC

Background

This script implements an affective 2-back procedure -based on Pe et al (2013)- to study the role of updating affective information in working memory (WM) on emotional functioning.

References

Affective 2-Back Procedure:
Pe, M.L., Koval, P. & Kuppens, P. (2013). Executive well-being: Updating of positive stimuli in working memory is associated with subjective well-being. Cognition, 126, 335-340. https://doi.org/10.1016/j.cognition.2012.10.002. (https://www.sciencedirect.com/science/article/pii/S0010027712002259)

Affective Norms For English Words (Anew):
Bradley, M. M., & Lang, P. J. (1999). Affective norms for English words (ANEW): Instruction manual and affective ratings (Vol. 30, No. 1, pp. 25-36). Technical report C-1, the center for research in psychophysiology, University of Florida. url: e-lub.net/media/anew.pdf

Duration

10 minutes

Description

Participants are working on 4 blocks of n2Back tasks with affective word stimuli. The task is to indicate for each word whether its valence matches the valence of the word presented two trials before. Participants are asked to press one key if the word is a match, and a different key if the word is not a match (2key n-back). Each block consists of 24 words.

Procedure

(1) Practice (Practice Stimuli)
- 24 2-back trials (the first two cannot be targets yet)
- the valence order is fixed for each participant
- the actual word order is randomly determined: the script randomly selects positive/negative
words (depending on required valence) from the practice set words
( the sequence can easily be changed to a fix call of the words as well)
- feedback is provided during practice after each trial

(2) Test: 4 Test Blocks
- each block runs 24 2-back trials (the first two cannot be targets yet)
- the valence order is fixed for each participant
- the actual word order is randomly determined: the script randomly selects positive/negative
words (depending on required valence) from the pool of words from the currently used set
( the sequence can easily be changed to a fix call of the words as well)
- by default, sets1-set4 are randomly assigned (see list.setAssignment)
- testblock1-3 provide a break trial at the end of the block

Trialsequence:
word (for 500ms) -> fixation cross for 2500ms (responsetimeout = 3000ms)
Feedback during practice is provided for 500ms


Valence Order (Not Original To Pe Et Al, 2013)
Millisecond generated a valence sequence for each test block with the following constraints:
1. 8 words are targets (n2Back valence 'matches'), 16 are non-targets (including the first two)
2. 12 words are positive, 12 words are negative
3. Each of the four target sequences 'pos-pos-pos', 'pos-neg-pos', 'neg-neg-neg', 'neg-pos-neg'
appear between 1 and 3 times per block
4. across four test blocks the target sequences would be run 7-9 times each
(see details under section Editable Stimuli)

Stimuli

The word lists used for sets 1-4 (as well as the practice set) were computer generated based on the
Bradley & Lang (1999) published 'Affective norms for English words' (ANEW).
This script does NOT use the original words (nor valence order) used by Pe et al (2013).

Steps:
(1) Words with valence ratings <= 3 (1,2,3) were categorized as 'negative' words
words with valence ratings >= 7 (7,8,9) were categorized as 'positive' words
( some words were censored by Millisecond and not used for list generation)

(2) 60 positive stims (from the generated list of positive stims) were randomly selected
and paired with a negative word roughly based on arousal ratings (difference could not be more than 2)
and word length (difference could not be more than 2).
The first randomly selected negative stim that fulfilled those constraints was taken
as the match.

Instructions

provided by Millisecond - can be edited under section 'Editable Instructions'

Summary Data

File Name: affectivenBackSummary*.iqdat

Data Fields

NameDescription
inquisit.version Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
startDate Date the session was run
startTime Time the session was run
subjectId Participant ID
groupId Group number
sessionId Session number
elapsedTime Session duration in ms
completed 0 = Test was not completed
1 = Test was completed
n 2 (for n2Back)
setSequence The order in which sets1-4 were run (Example: 1342)
list.acc.mean Overall proportion correct
list.rt.mean Overall correct mean latency (in ms)
list.accPosPosPos.itemCount Counts the number of times 'pos-pos-pos' trials were run during the test blocks
list.accPosPosPos.mean Proportion correct 'pos-pos-pos' trials across the test blocks
list.rtPosPosPos.itemCount Number of correct 'pos-pos-pos' trials across the test blocks
list.rtPosPosPos.mean Mean rt (in ms) of correct 'pos-pos-pos' trials across the test blocks
list.accPosNegPos.itemCount Counts the number of times 'pos-neg-pos' trials were run during the test blocks
list.accPosNegPos.mean Proportion correct 'pos-neg-pos' trials across the test blocks
list.rtPosNegPos.itemCount Number of correct 'pos-neg-pos' trials across the test blocks
list.rtPosNegPos.mean Mean rt (in ms) of correct 'pos-neg-pos' trials across the test blocks
list.accNegNegNeg.itemCount Counts the number of times 'neg-neg-neg' trials were run during the test blocks
list.accNegNegNeg.mean Proportion correct 'neg-neg-neg' trials across the test blocks
list.rtNegNegNeg.itemCount Number of correct 'neg-neg-neg' trials across the test blocks
list.rtNegNegNeg.mean Mean rt (in ms) of correct 'neg-neg-neg' trials across the test blocks
list.accNegPosNeg.itemCount Counts the number of times 'neg-pos-neg' trials were run during the test blocks
list.accNegPosNeg.mean Proportion correct 'neg-pos-neg' trials across the test blocks
list.rtNegPosNeg.itemCount Number of correct 'neg-pos-neg' trials across the test blocks
list.rtNegPosNeg.mean Mean rt (in ms) of correct 'neg-pos-neg' trials across the test blocks

Raw Data

File Name: affectivenBack_raw*.iqdat

Data Fields

NameDescription
build Inquisit version number
computer.platform Device platform: win | mac |ios | android
computer.touch 0 = device has no touchscreen capabilities; 1 = device has touchscreen capabilities
computer.hasKeyboard 0 = no external keyboard detected; 1 = external keyboard detected
date Date the session was run
time Time the session was run
subject Participant ID
group Group number
session Session number
blockcode The name the current block (built-in Inquisit variable)
blocknum The number of the current block (built-in Inquisit variable)
trialcode The name of the currently recorded trial (built-in Inquisit variable)
trialnum The number of the currently recorded trial (built-in Inquisit variable)
trialnum is a built-in Inquisit variable; it counts all trials run
even those that do not store data to the data file.
phase 0 = Practice; 1 = Test
testBlockCount Counts the test blocks run
n 2 (for n2Back)
setSequence The order in which sets1-4 are run (Example: 1342)
by default, the sets are assigned in a random order (see list.setAssignment)
set Refers to the set of stimuli run in the current block (0-4; set0 is the practice set)
by default, the sets are assigned in sequence
index Refers to the itemnumber of the current word
stim The currently presented word
stimValence "pos" vs. "neg"
valenceN2Back Pos-pos-pos, pos-pos-neg, pos-neg-pos, pos-neg-neg,
neg-neg-neg, neg-neg-pos, neg-pos-neg, neg-pos-pos
matchTrialType 1 = pos-pos-pos
2 = pos-neg-pos
3 = neg-neg-neg
4 = neg-pos-neg
0 = anything else
middleRoleN2Back "" (empty) vs. "facilitator" vs. "distractor"
Example
pos-pos-pos: middle one ('pos') is facilitator
pos-neg-pos: middle one ('neg') is distractor
valenceMatch The valence of the match from 2 trials back: "pos" vs. "neg"
match "y" (yes) (the current stim is a target = match in valence to stim 2 trials back); "n" (no)
corrResponse Stores the correct response key to press (1 vs. 2)
responseText Stores the pressed response key (1 vs. 2); 0 = no response
correct 1 = response was correct; 0 = response was incorrect (also for no responses)
rt Stores the response latency in ms (is empty for no responses); measured from onset of stim
latency Stores the response latency in ms (stores 3000 = responsetimeout for no responses); measured from onset of stim

Parameters

The procedure can be adjusted by setting the following parameters.

NameDescriptionDefault
Timing Parameters
getReadyDuration The duration (in ms) of the get-Ready trial3000
stimDuration The duration (in ms) that each word is presented on screen500
soa The duration (in ms) that responses are allowed after onset of word
soa - stimDuration => ITI of 2500ms
3000
feedbackDuration The feedback duration (in ms) during practice500
Sizing Parameters
stimSize The proportional size (proportional to canvas height) of the word stimuli8%
Response Keys
leftKey The dedicated 'left' key (on QWERTY keyboard)"1"
rightKey The dedicated 'right' key (on QWERTY keyboard), 'right' of the 'left' key"2"
yesKey The key assigned to the 'yes-key' (yes-key = target detected); by defaults it's '1'parameters.leftKey
noKey The key assigned to the 'no-key' (no-key = no target); by defaults it's '2'parameters.rightKey