Return to the Partner Attraction GNAT page
___________________________________________________________________________________________________________________	

									ATTRACTION pGNAT
___________________________________________________________________________________________________________________	

Script Author: Marisa Okano
last updated:  03-09-2020 by K. Borchert (katjab@millisecond.com) for Millisecond Software, LLC

Millisecond Software thanks Marisa Okano for sharing her script!

___________________________________________________________________________________________________________________
BACKGROUND INFO 	
___________________________________________________________________________________________________________________

This “Attraction pGNAT” is a modified version of the Go/No-go Association Task (GNAT), 
which was originally designed to measure automatic associations regarding a single target 
construct (Nosek & Banaji, 2001). Specifically, the same basic procedure of the GNAT is 
used to assess the strength of participants' positive versus negative associations 
regarding a single target category (e.g. physical attractiveness); however, the GNAT 
will be modified to reflect the personalized version utilized in the study of explicit and 
implicit preferences of physical attractiveness by Eastwick, Eagly, Finkel, & Johnson (2011).

In general, the GNAT uses uses the Go-Nogo framework of responding to signal and noise stimuli 
to investigate implicit bias. In contrast to reaction time based tests of implicit bias 
(e.g. Implicit Association Test),  the GNAT framework mainly focuses on accuracy data and specifically 
d prime measures (measures of sensitivity to distinguish signals from noise in signal detection theory) 
to infer implicit bias. 

For example, a positive association of 'physical attractiveness' (the target signal) is suggested if the dprime measure 
in the condition 'Physical Attractiveness-I like' (both of these categories are signals) is greater than the
dprime measure in the condition 'Physical Attractiveness-I don't like' (both of these categories are signals).

This script investigates the following three categories:
	PA = physical appearance
	SS = social status 
	PE = personality
by pairing them with the attribute categories 'I like' vs. 'I don't like'

The implemented procedure of the “Attraction pGNAT” is based on:

Eastwick, P. W., Eagly, A. H., Finkel, E. J., & Johnson, S. E. (2011). 
Implicit and explicit preferences for physical attractiveness in a romantic partner: 
A double dissociation in predictive validity. Journal of Personality and Social Psychology, 101, 993-1011.

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)

___________________________________________________________________________________________________________________
TASK DESCRIPTION	
___________________________________________________________________________________________________________________	
Participants are asked to categorize items (e.g words  "attractive", "wealthy" etc) into predetermined 
categories via keystroke presses. The basic task is to press the Spacebar if an items (e.g. "attractive")
belongs to the category currently being tested (e.g. Physical Appearance) and to do nothing if it doesn't.
For practice, participants sort items into categories "Physical Appearance", "Social Status", "Personality" 
as well as evaluative preference categories "I like" and "I don't like".
For the test, participants are asked to sort categories into the paired/combined categories (e.g. 
"Physical Appearance OR I don't like"). When an item belongs to either one of these two categories, 
participants should press the Spacebar.

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

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

(1) Raw data file: 'attraction_pgnat_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. 
										
targetcategory:						1 = PA 1000 trial; 2 = SS 1000 trial; 3 = PE 1000 trial; 0 = other
testtrial:							0 = practice/training; 1 = testtrial (trialcount >= 20 in each testblock)
stimulusitem:						the presented stimuli in order of trial presentation
response:							the participant's response (57 = spacebar; 0 = noresponse)
correct:							the correctness of the response (1 = correct; 0 = incorrect)
latency: 							the response latency (in ms); measured from onset of stims

(2) Summary data file: 'attraction_pgnat_summary*.iqdat' (a separate file for each participant)

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)
									
									
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)									

PA = physical appearance
SS = social status 
PE = personality
									
rHit_PA_Like:						hit rate in pairing 'Physical-Appearance (PA) - Like' Condition
rFA_PA_Like:						False alarm rate in pairing 'Physical-Appearance (PA) - Like' Condition
zHit_PA_Like:						z-score of hit rate in pairing 'Physical-Appearance (PA) - Like' Condition
zFA_PA_Like:						z-score of false alarm rate in pairing 'Physical-Appearance (PA) - Like' Condition
dprime_PA_Like:						Computes d' (parametric measure of discriminability) for pairing 'Physical-Appearance (PA) - Like'

rHit_PA_ Dislike:					hit rate in pairing 'Physical-Appearance (PA) -  Dislike' Condition
rFA_PA_ Dislike:					False alarm rate in pairing 'Physical-Appearance (PA) -  Dislike' Condition
zHit_PA_ Dislike:					z-score of hit rate in pairing 'Physical-Appearance (PA) -  Dislike' Condition
zFA_PA_ Dislike:					z-score of false alarm rate in pairing 'Physical-Appearance (PA) -  Dislike' Condition
dprime_PA_ Dislike:					Computes d' (parametric measure of discriminability) for pairing 'Physical-Appearance (PA) -  Dislike'

dprime_Diff_PA:						the difference in dprime btw. PA-like and PA-dislike
									=> if d prime for PA-like is larger than for PA-dislike (positive difference)
										participant more closely associated Physical Appearance with liking than with disliking
									=> if d prime for PA-like is smaller than for PA-dislike (negative difference)
										participant more closely associated Physical Appearance with disliking than with liking
			

rHit_SS_Like:						hit rate in pairing 'Social Status (SS) - Like' Condition
rFA_SS_Like:						False alarm rate in pairing 'Social Status (SS) - Like' Condition
zHit_SS_Like:						z-score of hit rate in pairing 'Social Status (SS) - Like' Condition
zFA_SS_Like:						z-score of false alarm rate in pairing 'Social Status (SS) - Like' Condition

dprime_SS_Like:						Computes d' (parameteric measure of discriminability) for pairing 'Social Status (SS) - Like'

rHit_SS_ Dislike:					hit rate in pairing 'Social Status (SS) -  Dislike' Condition
rFA_SS_ Dislike:					False alarm rate in pairing 'Social Status (SS) -  Dislike' Condition
zHit_SS_ Dislike:					z-score of hit rate in pairing 'Social Status (SS) -  Dislike' Condition
zFA_SS_ Dislike:					z-score of false alarm rate in pairing 'Social Status (SS) -  Dislike' Condition

dprime_SS_ Dislike:					Computes d' (parameteric measure of discriminability) for pairing 'Social Status (SS) -  Dislike'

dprime_Diff_SS:						the difference in dprime btw. SS-like and SS-dislike
									=> if d prime for SS-like is larger than for SS-dislike (positive difference)
										participant more closely associated Social Status with liking than with disliking
									=> if d prime for SS-like is smaller than for SS-dislike (negative difference)
										participant more closely associated Social Status with disliking than with liking
			
rHit_PE_Like:						hit rate in pairing 'Personality (PE) - Like' Condition
rFA_PE_Like:						False alarm rate in pairing 'Personality (PE) - Like' Condition
zHit_PE_Like:						z-score of hit rate in pairing 'Personality (PE) - Like' Condition
zFA_PE_Like:						z-score of false alarm rate in pairing 'Personality (PE) - Like' Condition

dprime_PE_Like:						Computes d' (parameteric measure of discriminability) for pairing 'Personality (PE) - Like'
										=> Range (in this script): 
										-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)

rHit_PE_Dislike:					hit rate in pairing 'Personality (PE) -  Dislike' Condition
rFA_PE_Dislike:						False alarm rate in pairing 'Personality (PE) -  Dislike' Condition
zHit_PE_Dislike:					z-score of hit rate in pairing 'Personality (PE) -  Dislike' Condition
zFA_PE_Dislike:						z-score of false alarm rate in pairing 'Personality (PE) -  Dislike' Condition

dprime_PE_Dislike:					Computes d' (parameteric measure of discriminability) for pairing 'Personality (PE) -  Dislike'
										=> Range (in this script): 
										-5.1516586840152740479 <= dprime <= 5.1516586840152740479 (=perfect performance)

dprime_Diff_PE:						the difference in dprime btw. PE-like and PE-dislike
									=> if d prime for PE-like is larger than for PE-dislike (positive difference)
										participant more closely associated Personality with liking than with disliking
									=> if d prime for PE-like is smaller than for PE-dislike (negative difference)
										participant more closely associated Personality with disliking than with liking

___________________________________________________________________________________________________________________	
EXPERIMENTAL SET-UP 
___________________________________________________________________________________________________________________

3 target categories (Physical Appearance (PA), Social Status (SS), and Personality (PE)) x 2 preference categories (like vs. dislike)

* 3 practice blocks of categorizing items into 3 target categories Physical Appearance (PA), Social Status (SS), and Personality (PE) 
	=> target categories are tested in blocked format, order of blocks is random
	=> 25 trials each
* 2 practice blocks of categorizing items into 2 preference categories (Like/Dislike)
	=> preference categories are tested in blocked format, order is random
	=> 20 trials each
* 6 test blocks: combination of 3 target categories (PA, SS, PE) x 2 like categories (like, dislike)
	categorization of items into paired/combined categories (e.g. sort items into "Physical Appearance" OR "I like")
	=> combined categories are tested in blocked format, order of the test blocks is random
	=> 15 practice trials followed by 60 test trials

* responsewindow:
	practice: 750ms
	test: 1000ms
	
___________________________________________________________________________________________________________________	
STIMULI
___________________________________________________________________________________________________________________
under section Editable Stimuli

___________________________________________________________________________________________________________________	
INSTRUCTIONS 
___________________________________________________________________________________________________________________
under section Editable Instructions as well as section Instructions

___________________________________________________________________________________________________________________	
EDITABLE CODE 
___________________________________________________________________________________________________________________
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.