Present summary data of multiple IATs


Author
Message
EimS
EimS
Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)
Group: Forum Members
Posts: 12, Visits: 62
Hi Dave,

I have recently ran studies in which participants had to complete 3 IATs and they received feedback with their score immediately after each test. I have now added a fourth IAT to a script and want to change it so that participants instead get feedback about each of the IATs once they have finished the final test (as opposed to after each one). However, data seems to only be collecting for one of the IATs. I have attached my files for your reference, any insight into where I'm going wrong would be appreciated. 

Thank you,
Eimear
Attachments
Test.zip (225 views, 308.00 KB)
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: 104K
EimS - Wednesday, February 15, 2017
Hi Dave,

I have recently ran studies in which participants had to complete 3 IATs and they received feedback with their score immediately after each test. I have now added a fourth IAT to a script and want to change it so that participants instead get feedback about each of the IATs once they have finished the final test (as opposed to after each one). However, data seems to only be collecting for one of the IATs. I have attached my files for your reference, any insight into where I'm going wrong would be appreciated. 

Thank you,
Eimear

At the end of each IAT, you need to store the IAT's result (the D-score) in a separate <value>. You're not doing that currently. While you store per-IAT stuff in separate values

<block iat1summary>
/ trials = [1=iat1summary]
/ recorddata = true
/ onblockend = [values.iat1_d = expressions.d; values.iat1_da = expressions.da; values.iat1_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
    values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;    
    values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
    values.ss2b=0;values.magnitude="unknown"]
</block>

you only run those <block>s *after* all the IATs, at which point expressions.d will obviously not longer reflect whatever result was achieved in the 1st IAT, but only in the last  one.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions;
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

Storing the result for each individual IAT must occur directly *after* that IAT, ie.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions; 
    11=iat1incompatibletest2; STORE RESULT FOR IAT1 HERE
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

After that, you also need to *reset* the various variables that are used for calculations in ALL IAT's at the end of each IAT. I.e., values.sum1a etc. must be set back to ZERO. Otherwise you're not calculating data PER IAT, but accumulating data ACROSS ALL IATs, which isn't what you want.

Finally, after all 4 IATs have been completed, you need to display the values that reflect the individual results in the respective "summaries" at the end of the script. I.e.

<text iat1summary>
/ items = ("Your IAT score (D) for the Physical/Mental health test was <% expressions.d%>, which suggests <%values.magnitude%> association of <%expressions.preferred%> with <%item.iat1attributeAlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeBlabel.1%> compared to <%expressions.preferred%> with <%item.iat1attributeBlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeAlabel.1%>.
~n~n~nPress the spacebar to complete this session.")
/ size = (60%, 60%)
/ hjustify = left
 </text>

needs to refer to  values.iat1_d and so forth.



EimS
EimS
Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)
Group: Forum Members
Posts: 12, Visits: 62
Dave - Wednesday, February 15, 2017
EimS - Wednesday, February 15, 2017
Hi Dave,

I have recently ran studies in which participants had to complete 3 IATs and they received feedback with their score immediately after each test. I have now added a fourth IAT to a script and want to change it so that participants instead get feedback about each of the IATs once they have finished the final test (as opposed to after each one). However, data seems to only be collecting for one of the IATs. I have attached my files for your reference, any insight into where I'm going wrong would be appreciated. 

Thank you,
Eimear

At the end of each IAT, you need to store the IAT's result (the D-score) in a separate <value>. You're not doing that currently. While you store per-IAT stuff in separate values

<block iat1summary>
/ trials = [1=iat1summary]
/ recorddata = true
/ onblockend = [values.iat1_d = expressions.d; values.iat1_da = expressions.da; values.iat1_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
    values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;    
    values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
    values.ss2b=0;values.magnitude="unknown"]
</block>

you only run those <block>s *after* all the IATs, at which point expressions.d will obviously not longer reflect whatever result was achieved in the 1st IAT, but only in the last  one.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions;
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

Storing the result for each individual IAT must occur directly *after* that IAT, ie.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions; 
    11=iat1incompatibletest2; STORE RESULT FOR IAT1 HERE
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

After that, you also need to *reset* the various variables that are used for calculations in ALL IAT's at the end of each IAT. I.e., values.sum1a etc. must be set back to ZERO. Otherwise you're not calculating data PER IAT, but accumulating data ACROSS ALL IATs, which isn't what you want.

Finally, after all 4 IATs have been completed, you need to display the values that reflect the individual results in the respective "summaries" at the end of the script. I.e.

<text iat1summary>
/ items = ("Your IAT score (D) for the Physical/Mental health test was <% expressions.d%>, which suggests <%values.magnitude%> association of <%expressions.preferred%> with <%item.iat1attributeAlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeBlabel.1%> compared to <%expressions.preferred%> with <%item.iat1attributeBlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeAlabel.1%>.
~n~n~nPress the spacebar to complete this session.")
/ size = (60%, 60%)
/ hjustify = left
 </text>

needs to refer to  values.iat1_d and so forth.



Hi Dave, 

Thanks for the above. I've been trying to work through it by trying different things but I'm stuck. 

I first put each IAT summary after the relevant IAT instead of all together at the end but I'm not sure how to store the result without it being presented to participants?

In resetting the calculation variables to zero, I wasn't sure how to do this - I tried to create items more specifically so as to relate to IAT1, 2, 3 or 4 more clearly and create a dscore based on these. While I'm getting a score for each in the output I'm not confident that it is collecting the correct data. Could you have another look at the attached files to see if I have made things any better/where to go from there (just working off condition 1 for now)?
Thanks again,
Eimear


Attachments
Test2.zip (198 views, 308.00 KB)
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: 104K
EimS - Thursday, February 16, 2017
Dave - Wednesday, February 15, 2017
EimS - Wednesday, February 15, 2017
Hi Dave,

I have recently ran studies in which participants had to complete 3 IATs and they received feedback with their score immediately after each test. I have now added a fourth IAT to a script and want to change it so that participants instead get feedback about each of the IATs once they have finished the final test (as opposed to after each one). However, data seems to only be collecting for one of the IATs. I have attached my files for your reference, any insight into where I'm going wrong would be appreciated. 

Thank you,
Eimear

At the end of each IAT, you need to store the IAT's result (the D-score) in a separate <value>. You're not doing that currently. While you store per-IAT stuff in separate values

<block iat1summary>
/ trials = [1=iat1summary]
/ recorddata = true
/ onblockend = [values.iat1_d = expressions.d; values.iat1_da = expressions.da; values.iat1_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
    values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;    
    values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
    values.ss2b=0;values.magnitude="unknown"]
</block>

you only run those <block>s *after* all the IATs, at which point expressions.d will obviously not longer reflect whatever result was achieved in the 1st IAT, but only in the last  one.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions;
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

Storing the result for each individual IAT must occur directly *after* that IAT, ie.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions; 
    11=iat1incompatibletest2; STORE RESULT FOR IAT1 HERE
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

After that, you also need to *reset* the various variables that are used for calculations in ALL IAT's at the end of each IAT. I.e., values.sum1a etc. must be set back to ZERO. Otherwise you're not calculating data PER IAT, but accumulating data ACROSS ALL IATs, which isn't what you want.

Finally, after all 4 IATs have been completed, you need to display the values that reflect the individual results in the respective "summaries" at the end of the script. I.e.

<text iat1summary>
/ items = ("Your IAT score (D) for the Physical/Mental health test was <% expressions.d%>, which suggests <%values.magnitude%> association of <%expressions.preferred%> with <%item.iat1attributeAlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeBlabel.1%> compared to <%expressions.preferred%> with <%item.iat1attributeBlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeAlabel.1%>.
~n~n~nPress the spacebar to complete this session.")
/ size = (60%, 60%)
/ hjustify = left
 </text>

needs to refer to  values.iat1_d and so forth.



Hi Dave, 

Thanks for the above. I've been trying to work through it by trying different things but I'm stuck. 

I first put each IAT summary after the relevant IAT instead of all together at the end but I'm not sure how to store the result without it being presented to participants?

In resetting the calculation variables to zero, I wasn't sure how to do this - I tried to create items more specifically so as to relate to IAT1, 2, 3 or 4 more clearly and create a dscore based on these. While I'm getting a score for each in the output I'm not confident that it is collecting the correct data. Could you have another look at the attached files to see if I have made things any better/where to go from there (just working off condition 1 for now)?
Thanks again,
Eimear


See this thread: https://www.millisecond.com/forums/Topic5223.aspx

EimS
EimS
Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)
Group: Forum Members
Posts: 12, Visits: 62
Dave - Thursday, February 16, 2017
EimS - Thursday, February 16, 2017
Dave - Wednesday, February 15, 2017
EimS - Wednesday, February 15, 2017
Hi Dave,

I have recently ran studies in which participants had to complete 3 IATs and they received feedback with their score immediately after each test. I have now added a fourth IAT to a script and want to change it so that participants instead get feedback about each of the IATs once they have finished the final test (as opposed to after each one). However, data seems to only be collecting for one of the IATs. I have attached my files for your reference, any insight into where I'm going wrong would be appreciated. 

Thank you,
Eimear

At the end of each IAT, you need to store the IAT's result (the D-score) in a separate <value>. You're not doing that currently. While you store per-IAT stuff in separate values

<block iat1summary>
/ trials = [1=iat1summary]
/ recorddata = true
/ onblockend = [values.iat1_d = expressions.d; values.iat1_da = expressions.da; values.iat1_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
    values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;    
    values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
    values.ss2b=0;values.magnitude="unknown"]
</block>

you only run those <block>s *after* all the IATs, at which point expressions.d will obviously not longer reflect whatever result was achieved in the 1st IAT, but only in the last  one.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions;
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

Storing the result for each individual IAT must occur directly *after* that IAT, ie.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions; 
    11=iat1incompatibletest2; STORE RESULT FOR IAT1 HERE
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

After that, you also need to *reset* the various variables that are used for calculations in ALL IAT's at the end of each IAT. I.e., values.sum1a etc. must be set back to ZERO. Otherwise you're not calculating data PER IAT, but accumulating data ACROSS ALL IATs, which isn't what you want.

Finally, after all 4 IATs have been completed, you need to display the values that reflect the individual results in the respective "summaries" at the end of the script. I.e.

<text iat1summary>
/ items = ("Your IAT score (D) for the Physical/Mental health test was <% expressions.d%>, which suggests <%values.magnitude%> association of <%expressions.preferred%> with <%item.iat1attributeAlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeBlabel.1%> compared to <%expressions.preferred%> with <%item.iat1attributeBlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeAlabel.1%>.
~n~n~nPress the spacebar to complete this session.")
/ size = (60%, 60%)
/ hjustify = left
 </text>

needs to refer to  values.iat1_d and so forth.



Hi Dave, 

Thanks for the above. I've been trying to work through it by trying different things but I'm stuck. 

I first put each IAT summary after the relevant IAT instead of all together at the end but I'm not sure how to store the result without it being presented to participants?

In resetting the calculation variables to zero, I wasn't sure how to do this - I tried to create items more specifically so as to relate to IAT1, 2, 3 or 4 more clearly and create a dscore based on these. While I'm getting a score for each in the output I'm not confident that it is collecting the correct data. Could you have another look at the attached files to see if I have made things any better/where to go from there (just working off condition 1 for now)?
Thanks again,
Eimear


See this thread: https://www.millisecond.com/forums/Topic5223.aspx

OK, thanks. 
So within each of my 4 IATs at the moment I originally had blockend information that I thought resets the values to zero for each IAT? For instance:
<block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d; values.iat2_da = expressions.da; values.iat2_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0; 
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

but have now put in extra information to make this more specific to each IAT? :
<block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d2; values.iat2_da = expressions.da2; values.iat2_db = expressions.db2]  (then changed these to 3s for IAT 3 etc....was that correct?)
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;  
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

In the <values> section of the Include file I had added: 
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
/ iat2_d = 0
/ iat2_da = 0
/ iat2_db = 0
/ iat3_d = 0
/ iat3_da = 0
/ iat3_db = 0
/ iat4_d = 0
/ iat4_da = 0
/ iat4_db = 0
but have now deleted this and put the following at the end of the IAT1 file: 
<values iat1value>
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
</values>
...and done the same for the remaining IAT files (but updating with the correct IAT number).
I then tried to log these in the summary data part of the Include file by stating values.iat1_d, values.iat1_da, values.iat1_db, values.iat2_d, values.iat2_da, values.iat2_db, and so on.  
At this stage I just want to be sure the Dscores are calculating correctly? Then I'll worry about whether the scores are presented directly after each IAT or at the end of all of them.  I've attached the current files again for reference. Thanks again.
Attachments
Test3.zip (195 views, 308.00 KB)
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: 104K
EimS - Thursday, February 16, 2017
Dave - Thursday, February 16, 2017
EimS - Thursday, February 16, 2017
Dave - Wednesday, February 15, 2017
EimS - Wednesday, February 15, 2017
Hi Dave,

I have recently ran studies in which participants had to complete 3 IATs and they received feedback with their score immediately after each test. I have now added a fourth IAT to a script and want to change it so that participants instead get feedback about each of the IATs once they have finished the final test (as opposed to after each one). However, data seems to only be collecting for one of the IATs. I have attached my files for your reference, any insight into where I'm going wrong would be appreciated. 

Thank you,
Eimear

At the end of each IAT, you need to store the IAT's result (the D-score) in a separate <value>. You're not doing that currently. While you store per-IAT stuff in separate values

<block iat1summary>
/ trials = [1=iat1summary]
/ recorddata = true
/ onblockend = [values.iat1_d = expressions.d; values.iat1_da = expressions.da; values.iat1_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
    values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;    
    values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
    values.ss2b=0;values.magnitude="unknown"]
</block>

you only run those <block>s *after* all the IATs, at which point expressions.d will obviously not longer reflect whatever result was achieved in the 1st IAT, but only in the last  one.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions;
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

Storing the result for each individual IAT must occur directly *after* that IAT, ie.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions; 
    11=iat1incompatibletest2; STORE RESULT FOR IAT1 HERE
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

After that, you also need to *reset* the various variables that are used for calculations in ALL IAT's at the end of each IAT. I.e., values.sum1a etc. must be set back to ZERO. Otherwise you're not calculating data PER IAT, but accumulating data ACROSS ALL IATs, which isn't what you want.

Finally, after all 4 IATs have been completed, you need to display the values that reflect the individual results in the respective "summaries" at the end of the script. I.e.

<text iat1summary>
/ items = ("Your IAT score (D) for the Physical/Mental health test was <% expressions.d%>, which suggests <%values.magnitude%> association of <%expressions.preferred%> with <%item.iat1attributeAlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeBlabel.1%> compared to <%expressions.preferred%> with <%item.iat1attributeBlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeAlabel.1%>.
~n~n~nPress the spacebar to complete this session.")
/ size = (60%, 60%)
/ hjustify = left
 </text>

needs to refer to  values.iat1_d and so forth.



Hi Dave, 

Thanks for the above. I've been trying to work through it by trying different things but I'm stuck. 

I first put each IAT summary after the relevant IAT instead of all together at the end but I'm not sure how to store the result without it being presented to participants?

In resetting the calculation variables to zero, I wasn't sure how to do this - I tried to create items more specifically so as to relate to IAT1, 2, 3 or 4 more clearly and create a dscore based on these. While I'm getting a score for each in the output I'm not confident that it is collecting the correct data. Could you have another look at the attached files to see if I have made things any better/where to go from there (just working off condition 1 for now)?
Thanks again,
Eimear


See this thread: https://www.millisecond.com/forums/Topic5223.aspx

OK, thanks. 
So within each of my 4 IATs at the moment I originally had blockend information that I thought resets the values to zero for each IAT? For instance:
<block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d; values.iat2_da = expressions.da; values.iat2_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0; 
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

but have now put in extra information to make this more specific to each IAT? :
<block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d2; values.iat2_da = expressions.da2; values.iat2_db = expressions.db2]  (then changed these to 3s for IAT 3 etc....was that correct?)
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;  
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

In the <values> section of the Include file I had added: 
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
/ iat2_d = 0
/ iat2_da = 0
/ iat2_db = 0
/ iat3_d = 0
/ iat3_da = 0
/ iat3_db = 0
/ iat4_d = 0
/ iat4_da = 0
/ iat4_db = 0
but have now deleted this and put the following at the end of the IAT1 file: 
<values iat1value>
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
</values>
...and done the same for the remaining IAT files (but updating with the correct IAT number).
I then tried to log these in the summary data part of the Include file by stating values.iat1_d, values.iat1_da, values.iat1_db, values.iat2_d, values.iat2_da, values.iat2_db, and so on.  
At this stage I just want to be sure the Dscores are calculating correctly? Then I'll worry about whether the scores are presented directly after each IAT or at the end of all of them.  I've attached the current files again for reference. Thanks again.

#1: <block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d2; values.iat2_da = expressions.da2; values.iat2_db = expressions.db2]  (then changed these to 3s for IAT 3 etc....was that correct?)
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;  
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

This was unnecessary, but it is not incorrect. You could have simply used the original, overall expressions.d, provided that you reset the sum1a, etc. values back to zero after each IAT as you did /onblockend.

> At this stage I just want to be sure the Dscores are calculating correctly?

Look at the raw data files and you'll see whether they are or not.

EimS
EimS
Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)Expert (1.1K reputation)
Group: Forum Members
Posts: 12, Visits: 62
Dave - Thursday, February 16, 2017
EimS - Thursday, February 16, 2017
Dave - Thursday, February 16, 2017
EimS - Thursday, February 16, 2017
Dave - Wednesday, February 15, 2017
EimS - Wednesday, February 15, 2017
Hi Dave,

I have recently ran studies in which participants had to complete 3 IATs and they received feedback with their score immediately after each test. I have now added a fourth IAT to a script and want to change it so that participants instead get feedback about each of the IATs once they have finished the final test (as opposed to after each one). However, data seems to only be collecting for one of the IATs. I have attached my files for your reference, any insight into where I'm going wrong would be appreciated. 

Thank you,
Eimear

At the end of each IAT, you need to store the IAT's result (the D-score) in a separate <value>. You're not doing that currently. While you store per-IAT stuff in separate values

<block iat1summary>
/ trials = [1=iat1summary]
/ recorddata = true
/ onblockend = [values.iat1_d = expressions.d; values.iat1_da = expressions.da; values.iat1_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
    values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;    
    values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
    values.ss2b=0;values.magnitude="unknown"]
</block>

you only run those <block>s *after* all the IATs, at which point expressions.d will obviously not longer reflect whatever result was achieved in the 1st IAT, but only in the last  one.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions;
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

Storing the result for each individual IAT must occur directly *after* that IAT, ie.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions; 
    11=iat1incompatibletest2; STORE RESULT FOR IAT1 HERE
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

After that, you also need to *reset* the various variables that are used for calculations in ALL IAT's at the end of each IAT. I.e., values.sum1a etc. must be set back to ZERO. Otherwise you're not calculating data PER IAT, but accumulating data ACROSS ALL IATs, which isn't what you want.

Finally, after all 4 IATs have been completed, you need to display the values that reflect the individual results in the respective "summaries" at the end of the script. I.e.

<text iat1summary>
/ items = ("Your IAT score (D) for the Physical/Mental health test was <% expressions.d%>, which suggests <%values.magnitude%> association of <%expressions.preferred%> with <%item.iat1attributeAlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeBlabel.1%> compared to <%expressions.preferred%> with <%item.iat1attributeBlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeAlabel.1%>.
~n~n~nPress the spacebar to complete this session.")
/ size = (60%, 60%)
/ hjustify = left
 </text>

needs to refer to  values.iat1_d and so forth.



Hi Dave, 

Thanks for the above. I've been trying to work through it by trying different things but I'm stuck. 

I first put each IAT summary after the relevant IAT instead of all together at the end but I'm not sure how to store the result without it being presented to participants?

In resetting the calculation variables to zero, I wasn't sure how to do this - I tried to create items more specifically so as to relate to IAT1, 2, 3 or 4 more clearly and create a dscore based on these. While I'm getting a score for each in the output I'm not confident that it is collecting the correct data. Could you have another look at the attached files to see if I have made things any better/where to go from there (just working off condition 1 for now)?
Thanks again,
Eimear


See this thread: https://www.millisecond.com/forums/Topic5223.aspx

OK, thanks. 
So within each of my 4 IATs at the moment I originally had blockend information that I thought resets the values to zero for each IAT? For instance:
<block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d; values.iat2_da = expressions.da; values.iat2_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0; 
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

but have now put in extra information to make this more specific to each IAT? :
<block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d2; values.iat2_da = expressions.da2; values.iat2_db = expressions.db2]  (then changed these to 3s for IAT 3 etc....was that correct?)
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;  
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

In the <values> section of the Include file I had added: 
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
/ iat2_d = 0
/ iat2_da = 0
/ iat2_db = 0
/ iat3_d = 0
/ iat3_da = 0
/ iat3_db = 0
/ iat4_d = 0
/ iat4_da = 0
/ iat4_db = 0
but have now deleted this and put the following at the end of the IAT1 file: 
<values iat1value>
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
</values>
...and done the same for the remaining IAT files (but updating with the correct IAT number).
I then tried to log these in the summary data part of the Include file by stating values.iat1_d, values.iat1_da, values.iat1_db, values.iat2_d, values.iat2_da, values.iat2_db, and so on.  
At this stage I just want to be sure the Dscores are calculating correctly? Then I'll worry about whether the scores are presented directly after each IAT or at the end of all of them.  I've attached the current files again for reference. Thanks again.

#1: <block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d2; values.iat2_da = expressions.da2; values.iat2_db = expressions.db2]  (then changed these to 3s for IAT 3 etc....was that correct?)
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;  
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

This was unnecessary, but it is not incorrect. You could have simply used the original, overall expressions.d, provided that you reset the sum1a, etc. values back to zero after each IAT as you did /onblockend.

> At this stage I just want to be sure the Dscores are calculating correctly?

Look at the raw data files and you'll see whether they are or not.
Ok, thanks for clarifying re. blockend. 
I think the output files are likely incorrect as, although I get a separate D score for each IAT, the same score is repeated across each of the IATs at once (see attached). I imagine that there should only be data in the columns relating to one IAT at a time, as they are being encountered? Do you know where I am going wrong with this?
Also, would it be correct to reset the percentcorrect to zero after each IAT in the values section or is this unnecessary given that calculations are reset on block end? i.e. 
<values iat1value>
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
/ percentcorrect = 0
</values>

Thanks again.
Attachments
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: 104K
EimS - Friday, February 17, 2017
Dave - Thursday, February 16, 2017
EimS - Thursday, February 16, 2017
Dave - Thursday, February 16, 2017
EimS - Thursday, February 16, 2017
Dave - Wednesday, February 15, 2017
EimS - Wednesday, February 15, 2017
Hi Dave,

I have recently ran studies in which participants had to complete 3 IATs and they received feedback with their score immediately after each test. I have now added a fourth IAT to a script and want to change it so that participants instead get feedback about each of the IATs once they have finished the final test (as opposed to after each one). However, data seems to only be collecting for one of the IATs. I have attached my files for your reference, any insight into where I'm going wrong would be appreciated. 

Thank you,
Eimear

At the end of each IAT, you need to store the IAT's result (the D-score) in a separate <value>. You're not doing that currently. While you store per-IAT stuff in separate values

<block iat1summary>
/ trials = [1=iat1summary]
/ recorddata = true
/ onblockend = [values.iat1_d = expressions.d; values.iat1_da = expressions.da; values.iat1_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
    values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;    
    values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
    values.ss2b=0;values.magnitude="unknown"]
</block>

you only run those <block>s *after* all the IATs, at which point expressions.d will obviously not longer reflect whatever result was achieved in the 1st IAT, but only in the last  one.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions;
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

Storing the result for each individual IAT must occur directly *after* that IAT, ie.

<expt>
/ subjects = (1 of 12)
/ blocks = [1=Demographics;
    2=iat1tableinstructionsblock; 3=iat1targetcompatiblepractice; 4=iat1attributepractice;
    5=iat1compatibletest1; 6=iat1compatibletestinstructions; 7=iat1compatibletest2;
    8=iat1targetincompatiblepractice; 9=iat1incompatibletest1; 10=iat1incompatibletestinstructions; 
    11=iat1incompatibletest2; STORE RESULT FOR IAT1 HERE
...
    32=iat4tableinstructionsblock; 33=iat4targetcompatiblepractice; 34=iat4attributepractice;
    35=iat4compatibletest1; 36=iat4compatibletestinstructions; 37=iat4compatibletest2;
    38=iat4targetincompatiblepractice; 39=iat4incompatibletest1; 40=iat4incompatibletestinstructions;
    41=iat4incompatibletest2;
    42=iat1summary; 43=iat2summary; 44=iat3summary; 45=iat4summary]
</expt>

After that, you also need to *reset* the various variables that are used for calculations in ALL IAT's at the end of each IAT. I.e., values.sum1a etc. must be set back to ZERO. Otherwise you're not calculating data PER IAT, but accumulating data ACROSS ALL IATs, which isn't what you want.

Finally, after all 4 IATs have been completed, you need to display the values that reflect the individual results in the respective "summaries" at the end of the script. I.e.

<text iat1summary>
/ items = ("Your IAT score (D) for the Physical/Mental health test was <% expressions.d%>, which suggests <%values.magnitude%> association of <%expressions.preferred%> with <%item.iat1attributeAlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeBlabel.1%> compared to <%expressions.preferred%> with <%item.iat1attributeBlabel.1%> and <%expressions.notpreferred%> with <%item.iat1attributeAlabel.1%>.
~n~n~nPress the spacebar to complete this session.")
/ size = (60%, 60%)
/ hjustify = left
 </text>

needs to refer to  values.iat1_d and so forth.



Hi Dave, 

Thanks for the above. I've been trying to work through it by trying different things but I'm stuck. 

I first put each IAT summary after the relevant IAT instead of all together at the end but I'm not sure how to store the result without it being presented to participants?

In resetting the calculation variables to zero, I wasn't sure how to do this - I tried to create items more specifically so as to relate to IAT1, 2, 3 or 4 more clearly and create a dscore based on these. While I'm getting a score for each in the output I'm not confident that it is collecting the correct data. Could you have another look at the attached files to see if I have made things any better/where to go from there (just working off condition 1 for now)?
Thanks again,
Eimear


See this thread: https://www.millisecond.com/forums/Topic5223.aspx

OK, thanks. 
So within each of my 4 IATs at the moment I originally had blockend information that I thought resets the values to zero for each IAT? For instance:
<block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d; values.iat2_da = expressions.da; values.iat2_db = expressions.db]
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0; 
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

but have now put in extra information to make this more specific to each IAT? :
<block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d2; values.iat2_da = expressions.da2; values.iat2_db = expressions.db2]  (then changed these to 3s for IAT 3 etc....was that correct?)
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;  
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

In the <values> section of the Include file I had added: 
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
/ iat2_d = 0
/ iat2_da = 0
/ iat2_db = 0
/ iat3_d = 0
/ iat3_da = 0
/ iat3_db = 0
/ iat4_d = 0
/ iat4_da = 0
/ iat4_db = 0
but have now deleted this and put the following at the end of the IAT1 file: 
<values iat1value>
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
</values>
...and done the same for the remaining IAT files (but updating with the correct IAT number).
I then tried to log these in the summary data part of the Include file by stating values.iat1_d, values.iat1_da, values.iat1_db, values.iat2_d, values.iat2_da, values.iat2_db, and so on.  
At this stage I just want to be sure the Dscores are calculating correctly? Then I'll worry about whether the scores are presented directly after each IAT or at the end of all of them.  I've attached the current files again for reference. Thanks again.

#1: <block iat2summary>
/ trials = [1=iat2summary]
/ recorddata = true
/ onblockend = [values.iat2_d = expressions.d2; values.iat2_da = expressions.da2; values.iat2_db = expressions.db2]  (then changed these to 3s for IAT 3 etc....was that correct?)
/ onblockend = [values.sum1a=0; values.sum2a=0; values.sum1b=0;
  values.sum2b=0; values.n1a=0; values.n2a=0; values.n1b=0;  
  values.n2b=0;values.ss1a=0; values.ss2a=0; values.ss1b=0;
  values.ss2b=0;values.magnitude="unknown";]
</block>

This was unnecessary, but it is not incorrect. You could have simply used the original, overall expressions.d, provided that you reset the sum1a, etc. values back to zero after each IAT as you did /onblockend.

> At this stage I just want to be sure the Dscores are calculating correctly?

Look at the raw data files and you'll see whether they are or not.
Ok, thanks for clarifying re. blockend. 
I think the output files are likely incorrect as, although I get a separate D score for each IAT, the same score is repeated across each of the IATs at once (see attached). I imagine that there should only be data in the columns relating to one IAT at a time, as they are being encountered? Do you know where I am going wrong with this?
Also, would it be correct to reset the percentcorrect to zero after each IAT in the values section or is this unnecessary given that calculations are reset on block end? i.e. 
<values iat1value>
/ iat1_d = 0
/ iat1_da = 0
/ iat1_db = 0
/ percentcorrect = 0
</values>

Thanks again.

> I think the output files are likely incorrect as, although I get a separate D score for each IAT, the same score is repeated across each of the IATs at once

That's because all the expressions.d1, expressions.d2, etc. are calculated from the *same, global* sum1a etc. values. You'll want to look at the result variable you *explicitly* stored *after* each IAT, i.e. whatever is captured in values.iat1_d, values.iat2_d, etc.

> Also, would it be correct to reset the percentcorrect to zero after each IAT in the values section

Yes.

Hope this clarifies.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search