IAT - problem scoring D-measure with IAT SPSS script


Author
Message
bhail
bhail
Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)
Group: Forum Members
Posts: 3, Visits: 4
I am using Inquisit's IAT SPSS script, IAT.sps, to score IAT data that I have collected through Inquisit 4 Web.  Using the syntax, I successfully created all the variables for the outfile CRITERIA.sav, with complete data for each variable, including the variable TEST.  However, for the syntax that is supposed to create variables for the outfile BIEP.ALL_MEANS&SDs.SAV, I am ending up with a lot of missing data in these variables, particularly for all commands associated with TEST=2 (below).  There is so much missing data in the variables created by the IF(TEST=2) commands below, that there is no data for TEST=2 in the variables D_asis_num and D_asis_denom, and thus the variable D_BIEP_b is empty, with no values.  In other words, there is complete data for the variable D_biep_a (D-score for 1st blocks) and all null data for the variable D_biep_b (D-score for the 2nd blocks). I am trying to understand why this is happening and what this means.

 Any help would be appreciated-- thanks so much.

*The variables M1 and M2 below (created in steps prior) each have more missing data if TEST=2 than if TEST=1.
IF (PAIRING = 1) M1 = MEAN_LAT .
IF (PAIRING = 2) M2 = MEAN_LAT .

*All variables below IF(TEST=2) have substantial missing data.
IF(TEST=1) ERR1a = ERR1 .
IF(TEST=1) ERR2a = ERR2 .
IF(TEST=2) ERR1b = ERR1 .
IF(TEST=2) ERR2b = ERR2 .

IF(TEST=1) M1a = M1 .
IF(TEST=1) M2a = M2 .
IF(TEST=2) M1b = M1 .
IF(TEST=2) M2b = M2 .

IF(TEST=1) SD1a = SD1 .
IF(TEST=1) SD2a = SD2 .
IF(TEST=2) SD1b = SD1 .
IF(TEST=2) SD2b = SD2 .

IF(TEST=1) N1a = N1 .
IF(TEST=1) N2a = N2 .
IF(TEST=2) N1b = N1 .
IF(TEST=2) N2b = N2 .

*These variables are empty if cases are TEST=2.
COMPUTE D_asis_num = M2 - M1.
COMPUTE D_asis_denom = SQRT( ( ((N1-1) * SD1**2 + (N2-1) * SD2**2)
                   + ((N1+N2) * ((M1-M2)**2) / 4) ) / (N1 + N2 - 1) ) .

*variable created successfully.
IF (TEST=1) D_BIEP_a = D_asis_num / D_asis_denom.
IF (TEST=1) Na = N1+N2.

*variables not created successfully-- all cells are null/empty.
IF (TEST=2) D_BIEP_b = D_asis_num / D_asis_denom.
IF (TEST=2) Nb = N1+N2.

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: 103K
#1: You must first determine how your IAT script assigned people to conditions.

#2: If your script used groupnumber to do so, you must adapt the SPSS syntax accordingly.

IF (MOD(subject,2) = 1) ORDER = 1 .
IF (MOD(subject,2) = 0) ORDER = 2 .

then ought to be

IF (MOD(group,2) = 1) ORDER = 1 .
IF (MOD(group,2) = 0) ORDER = 2 .

#3: If you made any additional changes to the IAT script (e.g. introduced additional blocks), you may also have to adapt the scoring syntax to accommodate for those changes.

#4: SPSS allows you to execute syntax commands step by step. Do so to determine exactly where things go wrong. Observe SPSS's output closely for errors.

bhail
bhail
Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)
Group: Forum Members
Posts: 3, Visits: 4
Thank you for your reply. If you could answer a couple of follow-up questions, that would be great:

(1) In looking closer at the IAT.sps syntax, I noticed that the value labels for blocknum assume that the numeric value of the blocks in my IAT is 9, but there are only 7 blocks in my IAT, which are labeled 1-7.  Thus, even though blocknum has a value label of 9, there are no data points in that variable that are larger than 7. This must have resulted in inaccurate calculations for the subsequent syntax to create the variables PAIRING and TEST, because there are no cases for which blocknum=9.  If I just re-number the numeric values for the blocknum value label, will this solve the problem? (I.e. number 1-7 instead of 1-9?)

*My Inquisit script (downloaded from Greenwald, 2005 website).

/blocks = [1=Target1_practice;

           2=ATTRIB_practice;

            3=Pairing1_practice;

           4=Pairing1_test;

           5=Target2_practice_Pairing1_1st;

            6=Pairing2_practice;

           7=Pairing2_test]

*IAT.sps syntax.
VALUE LABELS blocknum
 1 'Target practice'
 2 'Attribute practice'
 3 'First pairing practice'
 5 'First pairing test'
 6 'Reversed target practice'
 7 'Second pairing practice'
 9 'Second pairing test' .

COMPUTE PAIRING = 0.
IF ((ORDER=1) and (blocknum=3|blocknum=5)) PAIRING = 1.
IF ((ORDER=1) and (blocknum=7|blocknum=9)) PAIRING = 2.
IF ((ORDER=2) and (blocknum=7|blocknum=9)) PAIRING = 1.
IF ((ORDER=2) and (blocknum=3|blocknum=5)) PAIRING = 2.

COMPUTE TEST = 0.
IF (blocknum=3|blocknum=7) TEST = 1.
IF (blocknum=5|blocknum=9) TEST = 2.

(2) Regarding your point that the syntax for Grouping might differ depending on how groups are assigned in my Inquisit script:  Below is the part of the script where it looks like participants were assigned to the different orders of stimulus presentation. It looks like the name of the variable is "subjects," but I don't see a variable called subjects in my Inquisit .dat file. There is a variable called "subject," but that is the unique 5-digit participant ID# associated with each participant, not a grouping variable. In my Inquisit .dat file, I double-checked the order of presentation of the blocks for several participants, and it looks like the randomization was successful-- some participants were assigned to see Pairing2_test in block #7 and some to see Pairing1_test in block #7. I am still confused about how I create syntax to capture the grouping variable for order of presentation. Thank you for your help.

/subjects = (1 of 2)

/preinstructions = (overview1, overview2, consent, begin1, begin2)

/postinstructions = (end)

/blocks = [1=Target1_practice;

           2=ATTRIB_practice;

            3=Pairing1_practice;

           4=Pairing1_test;

           5=Target2_practice_Pairing1_1st;

            6=Pairing2_practice;

           7=Pairing2_test]

</expt>

 

<expt>

/subjects = (2 of 2)

/preinstructions = (overview1, overview2, consent, begin1, begin2)

/postinstructions = (end)

/blocks = [1=Target2_practice;

           2=ATTRIB_practice;

            3=Pairing2_practice;

           4=Pairing2_test;

           5=Target1_practice_Pairing2_1st;

            6=Pairing1_practice;

           7=Pairing1_test]



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: 103K
If you use the IAT script provided by Greenwald on his website, you should also use the SPSS syntax he provides there.

bhail
bhail
Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)Expert (1.2K reputation)
Group: Forum Members
Posts: 3, Visits: 4
Thank you-- I hadn't realized that he provides syntax. I will look now.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search