Millisecond Forums

Brief IAT Data Summary

https://forums.millisecond.com/Topic9661.aspx

By shorwitz - 2/9/2013

Hello, I am using a modified a version of the Brief IAT from the Inquisit task library running online. I am trying to modify the "Data summary" to include information about which order the participant received the blocks - basically, did the script run the expt for subjects 1 of 2 or the expt for subjects 2 of 2. Which property can I insert into the data summary to convey this information? I've been looking around but I am having trouble locating the right thing. Do I need to create a "value" to keep track of this and then report that value in the data summary?


Thank you!


Suzanne


By Dave - 2/9/2013

The information is already there: script.groupid.


Regards,


~Dave

By shorwitz - 2/12/2013

Yeah, I saw that item in the summarydata, but when I put the script
online using the wizard, what option should I select for "group
number" in order to make the groupid reflect which expt was run?

By Dave - 2/12/2013

You select whatever option you deem appropriate for your purposes. In case of the Brief IAT there are two between-subjects "groups" (i.e., here: two different block orders), thus computing the mod(2) of the recorded script.groupid will be either will tell you the block order. If the mod is 1, the 1st block order was delivered, if the result is 0, the 2nd order was chosen.

By mbirk - 3/28/2013

Hi,


I have an experiment with 3 different groups, so I computed MOD(3) (SPSS: MOD(numeric, modulus) for my groups, but validating the results manually I find differences.


First 4 manually: 1, 2, 2, 0


First 4 MOD(3): 2, 1, 2, 1


I controlled for correct sorting, so I don't see whats going on here and I have no idea how script.groupid is calculated. Where exactly is script.groupid assigned and on what does it depend? I use a MD5 hash as my subject id, if there is any dependence.


I also attached the script I use, just in case.


Any ideas whats going on?


Thanks,


Max



By Dave - 3/28/2013

You have


<expt>
/subjects = (1 of 2)
/groupassignment = groupnumber

/blocks = [1=getTargetItems; 2=targetcompatiblepractice; 3=attributepractice; 4=compatibletest1;
                5=compatibletestinstructions; 6=compatibletest2; 7=targetincompatiblepractice; 8=incompatibletest1;
                9=incompatibletestinstructions; 10=incompatibletest2; 11=summary]
</expt>

<expt>
/subjects = (2 of 2)
/groupassignment = groupnumber

/ blocks = [1=getTargetItems; 2=targetincompatiblepractice; 3=attributepractice; 4=incompatibletest1;
                5=incompatibletestinstructions; 6=incompatibletest2; 7=targetcompatiblepractice; 8=compatibletest1;
                9=compatibletestinstructions; 10=compatibletest2; 11=summary]
</expt>


i.e., *two* conditions assigned by groupnumber or mod(groubnumber,2) or simply odd vs. even. All that's different is the block order between the two conditions.


And then you have


<variables>
/group=(1 of 3) (attributeAlabel=attributeAlabelRelatedness, attributeBlabel=attributeBlabelRelatedness,  attributeAitems=attributeArelatedness, attributeBitems=attributeBrelatedness)
/group=(2 of 3) (attributeAlabel=attributeAlabelCompetence, attributeBlabel=attributeBlabelCompetence, attributeAitems=attributeAcompetence, attributeBitems=attributeBcompetence)
/group=(3 of 3) (attributeAlabel=attributeAlabelAutonomy, attributeBlabel=attributeBlabelAutonomy, attributeAitems=attributeAautonomy, attributeBitems=attributeBautonomy)
/groupassignment = random
</variables
>


*three* groups set to *random* condition assignment. I.e., no mod of anything will tell you what condition ran. It's random.

By mbirk - 3/28/2013

Thanks, that explains what's going on.


So I basically have 6 different conditions. Is there a way to rework that using <variables> or do I need to setup 6 different expt statements? Another way would be to store only the <variables> conditions in script.groupid.



By Dave - 3/28/2013

How about logging variables.currentgroupnumber to the data file?

By mbirk - 3/28/2013

Like that? I have to update it live, else I would just try it locally but we have only the web licence.



***********
raw data
***********
<data>
/ file = "CustomItemIAT_rawdata.iqdat"
/ columns = [date, time, subject, script.groupid, blockcode, blocknum, trialcode, trialnum, response, correct, latency, stimulusnumber, stimulusitem, expressions.da, expressions.db, expressions.d, variables.currentgroupnumber]
</data>

By Dave - 3/28/2013

Yes. You might want to do the same for <summarydata> (if you use that element). Still I would recommend some quick tests offline prior to deployment (why not use the trial period for that?).


For already collected data sets you should be able to determine which of the 3 variables-conditions ran based on the items logged to the data file (I'd expect them to be different between the three).

By mbirk - 3/28/2013

The trail has already expired ;) I'll set it up on another machine.


I tried the same with expt.currentgroupnumber to additionally get the groupnumber, but that throws a non valid error.

By Dave - 3/28/2013

I tried the same with expt.currentgroupnumber to additionally get the groupnumber, but that throws a non valid error.


#1: You don't need that because you already have that information in script.groupid as discussed previously.


#2: It's expt.exptname.currentgroupnumber. For unnamed expts it would be expt.1.currentgroupnumber, expt.2.currentgroupnumber, etc. I'm sure you see why that won't do any good.


#3: There is script.currentexpt.

By mbirk - 3/28/2013

(bow) and thanks for your help