************************************************************************************************************** ************************************************************************************************************** Self Harm Brief Implicit Attitude Test (IAT) as described by Nock & Banaji (2007) ************************************************************************************************************** ************************************************************************************************************** Main Inquisit programming: Sean Draine (seandr@millisecond.com) Last Modified: 03-13-2015 by K. Borchert (katjab@millisecond.com) for Millisecond Software Copyright © 03-13-2015 Millisecond Software last updated: 10-12-2015 by S. Kühn ************************************************************************************************************** ************************************************************************************************************** IAT Background Info ************************************************************************************************************** ************************************************************************************************************** The Implicit Association Task (Greenwald, McGhee, & Schwartz, 1998) is a widely-used cognitive-behavioral paradigm that measures the strength of automatic (implicit) associations between concepts in people’s minds relying on latency measures in a simple sorting task. The strength of an association between concepts is measured by the standardized mean difference score of the 'hypothesis-inconsistent' pairings and 'hypothesis-consistent' pairings (d-score) (Greenwald, Nosek, & Banaji, 2003). In general, the higher the d-score the stronger is the association between the 'hypothesis-consistent' pairings (decided by researchers). Negative d-scores suggest a stronger association between the 'hypothesis-inconsistent' pairings. Inquisit calculates d-scores using the improved scoring algorithm as described in Greenwald et al (2003). Error trials are handled by requiring respondents to correct their responses according to recommendation (p.214). D-scores obtained with this script: Positive d-scores: support a stronger association between 'cutting-Good' and 'no cutting-Bad' than for the opposite pairings Negative d-scores: support a stronger association between 'no cutting-Good' and 'cutting-Bad' than for the opposite pairings References: Greenwald, A. G., McGhee, D. E., & Schwartz, J. K. L. (1998). Measuring individual differences in implicit cognition: The Implicit Association Test. Journal of Personality and Social Psychology, 74, 1464-1480. Greenwald, A. G., Nosek, B. A., & Banaji, M. R. (2003). Understanding and Using the Implicit Association Test: I. An Improved Scoring Algorithm. Journal of Personality and Social Psychology, 85, 197-216. The Self Harm IAT is explained in detail in: Nock, M. K. & Banaji, M. R. (2007). Prediction of suicide ideation and attempts among adolescents using a brief performance-based test. Journal of Clinical and Consulting Psychology, 75, 707-715. ************************************************************************************************************** ************************************************************************************************************** Editable Parameters: EDIT HERE these parameters can be changed easily by each experimenter ************************************************************************************************************** ************************************************************************************************************** /showsummaryfeedback: set parameter showsummaryfeedback = true to display summary feedback to participants at the end (default) set parameter showsummaryfeedback = false if no summary feedback should be presented to participants /showsummaryfeedback = true ************************************************************************************************************** ************************************************************************************************************** Stimuli: Edit here ************************************************************************************************************** ************************************************************************************************************** *********************************************************************** This sample IAT can be easily adapted to different target categories and attributes. To change the categories, you need only change the stimulus items and labels immediately below this line. *********************************************************************** *Gut Glücklich, Frieden, Vergnügen, Prachtvoll, Liebe, Lachen, Freude, Wundervoll *Schlecht Qual, Verletzt, Misserfolg, Böse, Übel, Schrecklich, Grausam, Scheußlich /1 = "POSITIV" /1 = "Gut" /2 = "Entspannung" /3 = "Gesund" /4 = "Angenehm" /5 = "Gesellig" /1 = "NEGATIV" /1 = "Schlecht" /2 = "Anspannung" /3 = "Schädlich" /4 = "Störend" /5 = "Unsozial" /1 = "RAUCHEN" /1 = "R_A_Neu1.jpg" /2 = "R_A_Neu5.jpg" /3 = "R_H_Neu3.jpg" /4 = "R_K_Alt1.jpg" /5 = "R_K_Neu3.jpg" /6 = "R_Z_Alt1.jpg" /7 = "R_Z_Neu3.jpg" /8 = "R_Z_Neu7.jpg" /9 = "R_ZS_Neu3.jpg" /10 = "R_ZS_Neu7.jpg" /1 = "NICHT RAUCHEN" / 1 = "N_HS_Alt1.jpg" / 2 = "N_HS_Neu5.jpg" / 3 = "N_HS_Neu9.jpg" / 4 = "N_K_Alt1.jpg" / 5 = "N_K_Neu1.jpg" / 6 = "N_K_Neu9.jpg" / 7 = "N_S_Neu1.jpg" / 8 = "N_S_Neu5.jpg" / 9 = "N_V_Alt1.jpg" / 10 = "N_V_Neu5.jpg" *********************************************************************** To change the categories, you need only change the stimulus items and labels immediately above this line. All commands below relate to the IAT procedure, and need only be changed if you wish to modify the generic IAT procedure. *********************************************************************** ************************************************************************************************************** ************************************************************************************************************** Defaults ************************************************************************************************************** ************************************************************************************************************** This script requires Inquisit 4.0.0.0 or higher / fontstyle = ("Arial", 3.5%) / screencolor = (0,0,0) / txbgcolor = (0,0,0) / txcolor = (255, 255, 255) / minimumversion = "4.0.0.0" / canvasaspectratio = (4, 3) ************************************************************************************************************** ************************************************************************************************************** Scoring ************************************************************************************************************** ************************************************************************************************************** ********************* automatically updated ********************* /completed: 0 = script was not completed; 1 = script was completed (all conditions run) / sum1a: tracks the sum of the latencies to correct responses (latencies <= 10000ms) for the first compatible block 1A Note: by design, all final trial responses are correct (regardless of accuracy of initial response) / sum2a: tracks the sum of the latencies to correct responses (latencies <= 10000ms) for the first incompatible block 2A Note: by design, all final trial responses are correct (regardless of accuracy of initial response) / sum1b: tracks the sum of the latencies to correct responses (latencies <= 10000ms) for the second compatible block 1B Note: by design, all final trial responses are correct (regardless of accuracy of initial response) / sum2b: tracks the sum of the latencies to correct responses (latencies <= 10000ms) for the second incompatible block 2B Note: by design, all final trial responses are correct (regardless of accuracy of initial response) / n1a: counts the number of trials in first compatible block 1A (except first one) / n2a: counts the number of trials in first incompatible block 2A (except first one) / n1b: counts the number of trials in second compatible block 1B / n2b: counts the number of trials in second incompatible block 2B / ss1a: tracks the sum of the squared latencies to correct responses (latencies <= 10000ms) in the first compatible block / ss2a tracks the sum of the squared latencies to correct responses (latencies <= 10000ms) in the first incompatible block / ss1b: tracks the sum of the squared latencies to correct responses (latencies <= 10000ms) in the second compatible block / ss2b: tracks the sum of the squared latencies to correct responses (latencies <= 10000ms) in the second incompatible block / magnitude: stores the magnitude of the implicit preference: "little to no", "a slight", "a moderate", "a strong" / n_correct: counts all initial correct responses of all trials that count towards D score / completed = 0 / sum1a = 0 / sum2a = 0 / sum1b = 0 / sum2b = 0 / n1a = 0 / n2a = 0 / n1b = 0 / n2b = 0 / ss1a = 0 / ss2a = 0 / ss1b = 0 / ss2b = 0 / magnitude = "unknown" / n_correct = 0 * 1 is compatible, 2 is incompatible * a is first block, b is second block / m1a: mean latencies of correct responses in first compatible block / m2a: mean latencies of correct responses in first incompatible block / m1b: mean latencies of correct responses in second compatible block / m2b: mean latencies of correct responses in second incompatible block / sd1a: standard deviation of latencies of correct responses in first compatible block / sd2a standard deviation of latencies of correct responses in first incompatible block / sd1b: standard deviation of latencies of correct responses in second compatible block / sd2b: standard deviation of latencies of correct responses in second incompatible block / sda standarddeviation of latencies in first block / sdb standarddeviation of latencies in second block / da: D-score for first blocks / db: D-score for second blocks / d: overall D-score / preferred: stores the preferred target category / notpreferred : stores the non preferred target category / percentcorrect: calculates the overall percent correct score of initial responses of test trials of D-score qualifying latencies / m1a = values.sum1a / values.n1a / m2a = values.sum2a / values.n2a / m1b = values.sum1b / values.n1b / m2b = values.sum2b / values.n2b / sd1a = sqrt((values.ss1a - (values.n1a * (expressions.m1a * expressions.m1a))) / (values.n1a - 1)) / sd2a = sqrt((values.ss2a - (values.n2a * (expressions.m2a * expressions.m2a))) / (values.n2a - 1)) / sd1b = sqrt((values.ss1b - (values.n1b * (expressions.m1b * expressions.m1b))) / (values.n1b - 1)) / sd2b = sqrt((values.ss2b - (values.n2b * (expressions.m2b * expressions.m2b))) / (values.n2b - 1)) / sda = sqrt((((values.n1a - 1) * (expressions.sd1a * expressions.sd1a) + (values.n2a - 1) * (expressions.sd2a * expressions.sd2a)) + ((values.n1a + values.n2a) * ((expressions.m1a - expressions.m2a) * (expressions.m1a - expressions.m2a)) / 4) ) / (values.n1a + values.n2a - 1) ) / sdb = sqrt((((values.n1b - 1) * (expressions.sd1b * expressions.sd1b) + (values.n2b - 1) * (expressions.sd2b * expressions.sd2b)) + ((values.n1b + values.n2b) * ((expressions.m1b - expressions.m2b) * (expressions.m1b - expressions.m2b)) / 4) ) / (values.n1b + values.n2b - 1) ) / da = (m2a - m1a) / expressions.sda / db = (m2b - m1b) / expressions.sdb / d = (expressions.da + expressions.db) / 2 / preferred = "unknown" / notpreferred = "unknown" / percentcorrect = (values.n_correct/ (values.n1a + values.n1b + values.n2a + values.n2b)) * 100 ************************************************************************************************************** ************************************************************************************************************** Data ************************************************************************************************************** ************************************************************************************************************** **************** raw data **************** date/time/group/subject: built in variables that track date and time when script was run with the assigned subject- and group number Note: group1/group2 counterbalance the order in which the pairings are run blockcode: the name of the current trial blocknum: the number of the current trial trialcode: the name of the current trial trialnum: the number of the current trial response: the final trial response (scancodes of the keys pressed) Note: script saves the final and -by design- correct response correct: the accuracy of the initial response 0 = initial response was incorrect and needed to be corrected 1 = initial response is correct latency: the latency of the final (correct) response stimulusnumber: the number of the current stimulus stimulusitem: the currently presented item expressions.da: d-score of the first blocks expressions.db: d-score of the second blocks expressions.d: overall d-score / percentcorrect: calculates the overall percent correct score of initial responses of test trials of D-score qualifying latencies /file = "IAT_Valenz_rawdata.iqdat" / columns = [date, time, group, subject, blockcode, blocknum, trialcode, trialnum, response, correct, latency, stimulusnumber, stimulusitem, expressions.da, expressions.db, expressions.d, expressions.percentcorrect ] /separatefiles = false **************** summary data **************** script.startdate: date script was run script.starttime: time script was started script.subjectid: subject id number script.groupid: group id number script.elapsedtime: time it took to run script (in ms) /completed: 0 = script was not completed; 1 = script was completed (all conditions run) expressions.da: d-score of the first blocks expressions.db: d-score of the second blocks expressions.d: overall d-score / percentcorrect: calculates the overall percent correct score of initial responses of test trials of D-score qualifying latencies /file = "IAT_Valenz_summary.iqdat" / columns = [script.startdate, script.starttime, script.subjectid, script.groupid, script.elapsedtime, values.completed, expressions.da, expressions.db, expressions.d, expressions.percentcorrect] *********************************************************************** Performance summary *********************************************************************** / stimulustimes = [0=summary] / validresponse = (" ") / recorddata = false / ontrialbegin = [values.magnitude = "wenig oder keine"] / ontrialbegin = [if( abs(expressions.d) > 0.15 ) values.magnitude = "eine leichte"] / ontrialbegin = [if( abs(expressions.d) > 0.35 ) values.magnitude = "eine mittel starke"] / ontrialbegin = [if( abs(expressions.d) >= 0.65 ) values.magnitude = "eine starke"] / ontrialbegin = [if (expressions.d >= 0.0) expressions.preferred = item.targetALabel.1] / ontrialbegin = [if (expressions.d < 0.0) expressions.preferred = item.targetBLabel.1] / ontrialbegin = [if (expressions.d < 0.0) expressions.notpreferred= item.targetALabel.1] / ontrialbegin = [if (expressions.d >= 0.0) expressions.notpreferred= item.targetBLabel.1] / items = ("Ihr IAT Punktestand (D) ist <% expressions.d %>, dies zeigt eine <% values.magnitude %> automatische Bevorzugung von <% expressions.preferred %> im Vergleich zu <% expressions.notpreferred %>.~n~n~nDrücken Sie die Leertaste um diesen Versuchsabschnitt zu beenden.") / size = (60%, 60%) / hjustify = left *********************************************************************** Task instruction stimuli *********************************************************************** / stimulustimes = [1=instructions, spacebar] / correctresponse = (" ") / errormessage = false / recorddata = false / items = instructions / hjustify = left / size = (90%, 60%) / position = (50%, 85%) / valign = bottom / select = sequence / resetinterval = 20 / 1 = "Bitte legen Sie Ihre Zeigefinger auf das 'E' und 'I' der Tastatur. Gleich werden Ihnen Bilder einzeln in der Bildschirmmitte präsentiert, die einer Kategorie am oberen Bildschirmrand zugeordnet werden können. Wenn ein Bild zur Kategorie auf der linken Seite gehört, drücken Sie 'E'; wenn das Bild zur Kategorie auf der rechten Seite gehört, drücken Sie 'I'. Jedes Bild kann eindeutig einer Kategorie zugeordnet werden. Wenn Sie einen Fehler machen erscheint ein X auf dem Bildschirm. Drücken Sie in diesem Fall bitte die richtige (andere) Taste, um fortzufahren. Dies ist eine Reaktionszeitaufgabe. Reagieren Sie so schnell wie möglich und machen Sie so wenig Fehler wie möglich. Wenn Sie zu langsam reagieren oder zu viele Fehler machen, sind die Ergebnisse nicht auswertbar. Diese Aufgabe dauert etwa 5 Minuten. Wenn Sie Fragen haben, stellen Sie diese bitte jetzt." / 2 = "Im oberen Bildschirmrand sehen Sie, dass sich die Kategorien geändert haben. Die Reize, die sortiert werden müssen, haben sich auch geändert. Die Regeln sind jedoch gleich geblieben. Wenn ein Wort zur Kategorie auf der linken Seite gehört, drücken Sie 'E'; wenn ein Wort zur Kategorie auf der rechten Seite gehört, drücken Sie 'I'. Jedes Wort kann eindeutig einer Kategorie zugeordnet werden. Wenn Sie einen Fehler machen erscheint ein X auf dem Bildschirm. Drücken Sie in diesem Fall bitte die richtige (andere) Taste, um fortzufahren. Reagieren Sie so schnell wie möglich. Wenn Sie Fragen haben, stellen Sie diese bitte jetzt." / 3 = "Im oberen Bildschirmrand sehen Sie, dass die zuvor separat angezeigten Kategorien nun zusammen erscheinen. Denken Sie daran: Jedes Wort/Bild gehört nur zu einer Kategorie. Die verschiedenen Schriftfarben der Kategorien können bei der Zuordnung helfen. Benutzen Sie wieder 'E' und 'I' für die Zuordnung der Reize zu den vier Kategorien links und rechts. Korrigieren Sie Fehler (X), indem Sie die andere Taste drücken. Wenn Sie Fragen haben, stellen Sie diese bitte jetzt." / 4 = "Ordnen Sie die Reize wieder den vier Kategorien zu. Denken Sie daran: Reagieren Sie so schnell und so fehlerfrei wie möglich. Die verschiedenen Schriftfarben der Kategorien können bei der Zuordnung helfen. Benutzen Sie wieder 'E' und 'I' für die Zuordnung der Reize zu den vier Kategorien links und rechts. Korrigieren Sie Fehler (X), indem Sie die andere Taste drücken." / 5 = "Beachten Sie, dass nur zwei Kategorien dargeboten werden, die die Position getauscht haben. Die Kategorie, die zunächst auf der linken Seite war, ist nun rechts; und die Kategorie, die rechts war, ist nun links. Üben Sie diese neue Anordnung. Benutzen Sie wieder 'E' und 'I' für die Zuordnung der Reize zu den vier Kategorien links und rechts. Korrigieren Sie Fehler (X), indem Sie die andere Taste drücken. Wenn Sie Fragen haben, stellen Sie diese bitte jetzt." / 6 = "Im oberen Bildschirmrand sehen Sie, dass die vier Kategorien nun in einer neuen Anordnung zusammen erscheinen. Denken Sie daran: Jedes Wort/Bild gehört nur zu einer Kategorie. Die verschiedenen Schriftfarben der Kategorien können bei der Zuordnung helfen. Benutzen Sie wieder 'E' und 'I' für die Zuordnung der Reize zu den vier Kategorien links und rechts. Korrigieren Sie Fehler (X), indem Sie die andere Taste drücken. Wenn Sie Fragen haben, stellen Sie diese bitte jetzt." / 7 = "Ordnen Sie die Reize wieder den vier Kategorien zu. Denken Sie daran: Reagieren Sie so schnell und so fehlerfrei wie möglich. Die verschiedenen Schriftfarben der Kategorien können bei der Zuordnung helfen. Benutzen Sie wieder 'E' und 'I' für die Zuordnung der Reize zu den vier Kategorien links und rechts. Korrigieren Sie Fehler (X), indem Sie die andere Taste drücken." / items = ("Drücken Sie die Leertaste um zu beginnen.") / position = (50%, 95%) / valign = bottom / items = attributeA / fontstyle = ("Arial", 5%) / txcolor = (0, 255, 0) / items = attributeB / fontstyle = ("Arial", 5%) / txcolor = (0, 255, 0) / items = targetB / size = (50%, 50%) / items = targetA / size = (50%, 50%) / position = (50%, 75%) / items = ("X") / color = (255, 0, 0) / fontstyle = ("Arial", 10%, true) / items = attributeAlabel / valign = top / halign = left / position = (5%, 5%) / txcolor = (0, 255, 0) / fontstyle = ("Arial", 5%) / items = attributeBlabel / valign = top / halign = right / position = (95%, 5%) / txcolor = (0, 255, 0) / fontstyle = ("Arial", 5%) / items = attributeAlabel / valign = top / halign = left / position = (5%, 19%) / txcolor = (0, 255, 0) / fontstyle = ("Arial", 5%) / items = attributeBlabel / valign = top / halign = right / position = (95%, 19%) / txcolor = (0, 255, 0) / fontstyle = ("Arial", 5%) / items = targetBlabel / valign = top / halign = left / position = (5%, 5%) / fontstyle = ("Arial", 5%) / items = targetBlabel / valign = top / halign = right / position = (95%, 5%) / fontstyle = ("Arial", 5%) / items = targetAlabel / valign = top / halign = left / position = (5%, 5%) / fontstyle = ("Arial", 5%) / items = targetAlabel / valign = top / halign = right / position = (95%, 5%) / fontstyle = ("Arial", 5%) / items = ("oder") / valign = top / halign = left / position = (5%, 12%) / fontstyle = ("Arial", 5%) / items = ("oder") / valign = top / halign = right / position = (95%, 12%) / fontstyle = ("Arial", 5%) *********************************************************************** Trials *********************************************************************** / validresponse = ("E", "I") / correctresponse = ("E") / stimulusframes = [1 = attributeA] / posttrialpause = 250 / validresponse = ("E", "I") / correctresponse = ("I") / stimulusframes = [1 = attributeB] / posttrialpause = 250 / validresponse = ("E", "I") / correctresponse = ("E") / stimulusframes = [1 = targetB] / posttrialpause = 250 / validresponse = ("E", "I") / correctresponse = ("I") / stimulusframes = [1 = targetB] / posttrialpause = 250 / validresponse = ("E", "I") / correctresponse = ("E") / stimulusframes = [1 = targetA] / posttrialpause = 250 / validresponse = ("E", "I") / correctresponse = ("I") / stimulusframes = [1 = targetA] / posttrialpause = 250 *********************************************************************** Blocks *********************************************************************** / bgstim = (attributeAleft, attributeBright) / trials = [1=instructions;2-21 = random(attributeA, attributeB)] / errormessage = true(error,200) / responsemode = correct / bgstim = (targetAleft, targetBright) / trials = [1=instructions;2-21 = random(targetAleft, targetBright)] / errormessage = true(error,200) / responsemode = correct / bgstim = (targetAright, targetBleft) / trials = [1=instructions;2-21 = random(targetAright, targetBleft)] / errormessage = true(error,200) / responsemode = correct / bgstim = (targetAleft, targetBright) / trials = [1=instructions;2-41 = random(targetAleft, targetBright)] / errormessage = true(error,200) / responsemode = correct / bgstim = (targetAright, targetBleft) / trials = [1=instructions;2-41 = random(targetAright, targetBleft)] / errormessage = true(error,200) / responsemode = correct / bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed) / trials = [1=instructions; 3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41= random(targetAleft, targetBright); 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40 = random(attributeA, attributeB)] / errormessage = true(error,200) / responsemode = correct / ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.sum1a = values.sum1a + block.compatibletest1.latency] / ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n1a += 1] / ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.ss1a = values.ss1a + (block.compatibletest1.latency * block.compatibletest1.latency)] / ontrialend = [if(block.compatibletest1.latency <= 10000 && block.compatibletest1.currenttrialnumber != 1 ) values.n_correct += block.compatibletest1.correct] / bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed) / trials = [ 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40 = random(targetAleft, targetBright); 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39 = random(attributeA, attributeB)] / errormessage = true(error,200) / responsemode = correct / ontrialend = [if(block.compatibletest2.latency <= 10000) values.sum1b = values.sum1b + block.compatibletest2.latency] / ontrialend = [if(block.compatibletest2.latency <= 10000) values.n1b += 1] / ontrialend = [if(block.compatibletest2.latency <= 10000) values.ss1b = values.ss1b + (block.compatibletest2.latency * block.compatibletest2.latency)] / ontrialend = [if(block.compatibletest2.latency <= 10000) values.n_correct += block.compatibletest2.correct] / bgstim = (targetBleft, orleft, attributeAleftmixed, targetAright, orright, attributeBrightmixed) / trials = [1=instructions; 3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39,41 = random(targetBleft, targetAright); 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40 = random(attributeA, attributeB)] / errormessage = true(error,200) / responsemode = correct / ontrialend = [if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1) values.sum2a = values.sum2a + block.incompatibletest1.latency] / ontrialend = [if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.n2a += 1] / ontrialend = [if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.ss2a = values.ss2a + (block.incompatibletest1.latency * block.incompatibletest1.latency)] / ontrialend = [if(block.incompatibletest1.latency <= 10000 && block.incompatibletest1.currenttrialnumber != 1 ) values.n_correct += block.incompatibletest1.correct] / bgstim = (targetBleft, orleft, attributeAleftmixed, targetAright, orright, attributeBrightmixed) / trials = [ 2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40 = random(targetBleft, targetAright); 1,3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39 = random(attributeA, attributeB)] / errormessage = true(error,200) / responsemode = correct / ontrialend = [if(block.incompatibletest2.latency <= 10000) values.sum2b = values.sum2b + block.incompatibletest2.latency] / ontrialend = [if(block.incompatibletest2.latency <= 10000) values.n2b += 1] / ontrialend = [if(block.incompatibletest2.latency <= 10000) values.ss2b = values.ss2b + (block.incompatibletest2.latency * block.incompatibletest2.latency)] / ontrialend = [if(block.incompatibletest2.latency <= 10000) values.n_correct += block.incompatibletest2.correct] / bgstim = (targetAleft, orleft, attributeAleftmixed, targetBright, orright, attributeBrightmixed) / trials = [1=instructions] / recorddata = false / bgstim = (targetBleft, orleft, attributeAleftmixed, targetAright, orright, attributeBrightmixed) / trials = [1=instructions] / recorddata = false /skip = [values.showsummaryfeedback == false] / trials = [1=summary] / recorddata = false *********************************************************************** Experiment *********************************************************************** Groupassignment is done by groupnumber /subjects = (1 of 2) /groupassignment = subjectnumber / blocks = [1=targetcompatiblepractice; 2=attributepractice; 3=compatibletest1; 4=compatibletestinstructions; 5=compatibletest2; 6=targetincompatiblepractice; 7=incompatibletest1; 8=incompatibletestinstructions; 9=incompatibletest2] /onexptend = [values.completed = 1] /subjects = (2 of 2) /groupassignment = subjectnumber / blocks = [1=targetincompatiblepractice; 2=attributepractice; 3=incompatibletest1; 4=incompatibletestinstructions; 5=incompatibletest2; 6=targetcompatiblepractice; 7=compatibletest1; 8=compatibletestinstructions; 9=compatibletest2] /onexptend = [values.completed = 1] *********************************************************************** Test Monkey *********************************************************************** / latencydistribution = normal(500, 100) / percentcorrect = 90