User Manual: Inquisit Sexism Go/No-Go Association Task (GNAT)


___________________________________________________________________________________________________________________	

									Ambivalent Sexism GNAT 
___________________________________________________________________________________________________________________	

last updated:  01-09-2023 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

This script was made available to the Millisecond Task Library by Dr. Britzman.
___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________
This script implements the Go-Nogo Association Task (GNAT) to investigate implicit ambivalent sexism 
by Britzman & Mehić-Parker (in press).


Literature Reference:

Britzman, K.J & Mehić-Parker, J. (2023). Understanding Electability: The Effects of Implicit and 
Explicit Sexism on Candidate Perceptions.
Journal of Women, Politics & Policy. (in press)

Nosek, B. A., & Banaji, M. R. (2001). The go/no-go association task.  Social Cognition, 19(6), 625-666. 

Adjustments to z-scores as described by:
Gregg, A. & Sedikides, C. (2010). Narcissistic Fragility:
Rethinking Its Links to Explicit and Implicit Self-esteem, Self and Identity, 9:2, 142-161 (p.148)

___________________________________________________________________________________________________________________	
DURATION 
___________________________________________________________________________________________________________________	
the default set-up of the script takes appr. 10 minutes to complete

___________________________________________________________________________________________________________________	
DATA FILE INFORMATION 
___________________________________________________________________________________________________________________
The default data stored in the data files are:

(1) Raw data file: 'implicitsexism_raw*.iqdat' (a separate file for each participant)

build:								The specific Inquisit version used (the 'build') that was run
computer.platform:					the platform the script was run on (win/mac/ios/android)
date, time, 						date and time script was run 
subject, group, 					with the current subject/groupnumber
script.sessionId:					with the current session id

blockcode, blocknum:				the name and number of the current block (built-in Inquisit variable)
trialcode, trialnum: 				the name and number of the currently recorded trial (built-in Inquisit variable)
										Note: trialnum is a built-in Inquisit variable; it counts all trials run; even those
										that do not store data to the data file. 

phase:								"training" (single category categorization) vs. "test" (2 categories categorization)

item.targetAlabel.items.1				the category used for target A
item.targetBlabel.items.1:				the category used for target B
item.attributeAlabel.items.1:				the category used for attribute A
item.attributeBlabel.items.1:				the category used for attribute B

responsetimeout_target:				time in ms that is allowed for response in a signal trial
responsetimeout_noise:				time in ms that is allowed for response in a noise trial

signal:								1 = signal trial (spacebar response is correct); 
									0 = noisetrial (no response is correct)

targettype:							"A" vs. "B" 

pairing:							"AA" -> targetA-attributeA 
									"AB" -> targetA-attributeB 
									"BA" -> targetB-attributeA 
									"BB" -> targetB-attributeB 
									
trialtype:							Training phase:"training"
									Test phase: "practice" vs. "test"

stimulusitem:						the presented stimulusitems in order of presentation in stimulusframes (see trials)
response:							response made (either 57 = Spacebar or 0 for no response)
correct:							the accuracy of response (1 = correct; 0 = error)
latency:							the latency of the response in ms (or if no response: response timeout duration)


(2) Summary data file: 

computer.platform:					the platform the script was run on (win/mac/ios/android)
script.startDate:					date script was run
script.startTime:					time script was started
script.subjectId:					assigned subject id number
script.groupId:						assigned group id number
script.sessionId:					assigned session id number
script.elapsedTime:					time it took to run script (in ms); measured from onset to offset of script
script.completed:					0 = script was not completed (prematurely aborted); 
									1 = script was completed (all conditions run)

parameters.responsetimeout1_signal:			stores the response timeouts in ms used for signals in the testblocks in this script
parameters.responsetimeout1_noise:			stores the response timeouts in ms used for noise in in the testblocks in this script

parameters.responsetimeout2_signal:			stores the response timeouts in ms used for signals in the testblocks in this script
parameters.responsetimeout2_noise:			stores the response timeouts in ms used for noise in in the testblocks in this script

parameters.responsetimeout3_signal:			stores the response timeouts in ms used for signals in the testblocks in this script
parameters.responsetimeout3_noise:			stores the response timeouts in ms used for noise in in the testblocks in this script

item.targetAlabel.items.1				the category used for target A
item.targetBlabel.items.1:				the category used for target B
item.attributeAlabel.items.1:			the category used for attribute A
item.attributeBlabel.items.1:			the category used for attribute B

propCorrect_AA:					overall proportion correct for pairing targetA-attributeA; test trials only
propCorrect_AB:					overall proportion correct for pairing targetA-attributeB; test trials only
propCorrect_BA:					overall proportion correct for pairing targetB-attributeA; test trials only
propCorrect_BB:					overall proportion correct for pairing targetB-attributeB; test trials only

Note: z-score calculations: adjustments (see Gregg & Sedikides, 2010, p.148)
If the hit rate / FA rate is 0 => 0.005 is used instead (aka 0.005 is added to the hit/FA rate)
IF the hit rate / FA rate is 1.0 => 0.995 is used instead (aka 0.005 is subtracted from the hit/FA rate)

rHit_AA:							hit rate for pairing targetA-attributeA (here: woman-occupations) across all responsetimeouts; test trials only
rFA_AA:								false alarm (FA) rate for pairing targetA-attributeA (here: woman-occupations) across all responsetimeouts; test trials only
zhit_AA:							z-score of hit rate for pairings targetA-attributeA (here: woman-occupations)
zFA_AA:								z-score of FA rate for pairings targetA-attributeA (here: woman-occupations)

AA_dprime:							Computes d' (parametric measure of discriminability) for Woman-Occupations
										=> Range (in this script): 
										-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)

rHit_AB:							hit rate for pairing targetA-attributeB (here: woman-qualities) across all response timeouts; test trials only
rFA_AB:								false alarm (FA) rate for pairing targetA-attributeB (here: woman-qualities) across all responsetimeouts; test trials only
zhit_AB:							z-score of hit rate for pairings targetA-attributeB (here: woman-qualities)
zFA_AB:								z-score of FA rate for pairings targetA-attributeB (here: woman-qualities)

AB_dprime:							Computes d' (parametric measure of discriminability) for Woman-Qualities Pairings
										=> Range (in this script): 
										-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)

rHit_BA:							hit rate for pairing targetB-attributeA (here: man-occupations) across all responsetimeouts; test trials only
rFA_BA:								false alarm (FA) rate for pairing targetB-attributeA (here: man-occupations) across all responsetimeouts; test trials only
zhit_BA:							z-score of hit rate for pairings targetB-attributeA (here: man-occupations)
zFA_BA:								z-score of FA rate for pairings targetB-attributeA (here: man-occupations)

BA_dprime:							Computes d' (parametric measure of discriminability) for Man-Occupations
										=> Range (in this script): 
										-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)

rHit_BB:							hit rate for pairing targetB-attributeB (here: man-qualities) across all responsetimeouts; test trials only
rFA_BB:								false alarm (FA) rate for pairing targetB-attributeB (here: man-qualities) across all responsetimeouts; test trials only
zhit_BB:							z-score of hit rate for pairings targetB-attributeB (here: man-qualities)
zFA_BB:								z-score of FA rate for pairings targetB-attributeB (here: man-qualities)

BB_dprime:							Computes d' (parametric measure of discriminBBility) for Man-Qualities Pairings
										=> Range (in this script): 
										-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)

GNATPart1:						(a) subtracting d' for the (BA) block from d' for the (AA) => AA-BA
										=> if positive: participant is better at discriminating btw. signal and noise
										when both 'woman' and 'occupations' are signals than when 'man' and 'occupations' are signals
										This supports closer association of 'woman' and 'occupations' than 'man' and 'occupations'
										
GNATPart2:						(b) subtracting d' for the (AB) block from d' for the  (BB)=> BB-AB
										=> if positive: participant is better at discriminating btw. signal and noise
										when both 'men' and 'qualities' are signals than when 'woman' and 'qualities' are signals
										This supports closer association of 'men' and 'qualities' than 'women' and 'qualities'
										
GNATALL:							#A composite index of sexism
										=> sum of GNATpart1 and GNATpart2
										=> the higher the composite score, the closer a participant
																		
																
___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________	

Default GNAT Set-Up in this script:
(1) 4 training blocks: one training block each for targetA (here: women), targetB (here: men), attributeA (here: occupations), 
attributeB (here: qualities)
with response timeout of 600ms
-> block order is determined randomly
-> run 20 trials each (10 target:10 noise)

(2) 4 test blocks that combine targets and attributes with a response timeout (default: 600ms)
-> block order is determined randomly
-> each block runs 16 'practice trials' followed by 48 test trials (summary variables based on test trial performance only)
-> signal : noise = 1 : 1 (samenumber of attributeA, attributeB, signal and noise trials)
-> each attribute (12) is selected once during the test trials
-> each target is repeated 4x during the test trials

___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
see section Editable Stimuli (stimuli from Gregg & Sedikides, 2010)

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
see section Editable Instructions

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________	
We (Britzman and Mehic-Parker, 2022) relied on Gregg & Sedikides, 2010 implicit self-esteem code to build the template for ambivalent sexism. 

check below for (relatively) easily editable parameters, stimuli, instructions etc. 
Keep in mind that you can use this script as a template and therefore always "mess" with the entire code 
to further customize your experiment.

The parameters you can change are:

/responsetimeout1_signal:		stores the longest response timeouts in ms used in this study for targets
								Note: by default, the longest response timeout in this script is used for blocks
								that test attributes and targets separately (default: 1000ms)
								
/responsetimeout2_signal


/responsetimeout3_signal
													
(samefor noise trials: by default they are the same in this script)

/isi:							stores the interstimulus interval (time between offset of one stimulus and onset of next)