I am having trouble writing a somewhat complex Inquisit script, and I am hoping that an Inquisit Guru out there will know exactly what I should do!
Background/Experiment Design: I would like to present participants with descriptions of 12 people. There is one catch: I would like the participant's ethnic group to be represented in varying proportions among these 12 "people." So, first participants complete a demographic page where they indicate their ethnicity, and then they are presented with the 12 person descriptions that each have an ethnic group attached to the description. Based on the participant's experimental condition, they will see either 100% ethnic ingroup members, 75% ingroup members, 50% ingroup members, 25% ingroup members, and 0% ingroup members.
Code:
# First, need to obtain demographics to extract ethnic group
<dropdown sex>
/ caption = "Sex"
/ options = ("female","male")
</dropdown>
<dropdown ethnicity>
/ caption = "Ethnicity (Please choose one)"
/ options = ("East Asian","South Asian","White","Black","Middle Eastern","Latino","Multiracial")
/ optionvalues = ("1","2","3","4","5","6","7")
</dropdown>
<surveypage demographicspage>
/ caption = "Please begin by answering the following demographic questions:"
/ questions = [1=sex;2=ethnicity]
/ ontrialend = [if (dropdown.ethnicity == 1) item.outgroups.item = outgroups1; if (dropdown.ethnicity == 2) item.outgroups.item = outgroups2; if (dropdown.ethnicity== 3) item.outgroups.item = outgroups3 ; if (dropdown.ethnicity== 4) item.outgroups.item = outgroups4 ; if (dropdown.ethnicity== 5) item.outgroups.item = outgroups5 ; if (dropdown.ethnicity == 6) item.outgroups.item = outgroups6 ; if (dropdown.ethnicity == 7) item.outgroups.item = outgroups7]
</surveypage>
<survey demographics>
/ pages = [1=demographicspage]
</survey>
# Next, depending on ethnicity of participant, present person descriptors of which X are ingroup members
<text descriptions>
/ items = ("Description 1","Description 2","Description 3","Description 4","Description 5","Description 6","Description 7","Description 8","Description 9","Description 10","Description 11","Description 12")
/ select = noreplace
</text>
<text outgroups1>
/ items = ("South Asian","South Asian","South Asian","South Asian","South Asian","White","White","White","Black","Black","Multiracial","Middle Eastern")
/ select = noreplace
</text>
<text outgroups2>
/ items = ("East Asian","East Asian","East Asian","East Asian","East Asian","East Asian","White","White","White","Black","Black","Multiracial","Middle Eastern")
/ select = noreplace
</text>
<text outgroups3>
/ items = ("East Asian","East Asian","East Asian","East Asian","East Asian","South Asian","South Asian","South Asian","South Asian","Black","Multiracial","Middle Eastern")
/ select = noreplace
</text>
<text outgroups4>
/ items = ("East Asian","East Asian","East Asian","East Asian","South Asian","South Asian","South Asian","South Asian","White","White","Multiracial","Middle Eastern")
/ select = noreplace
</text>
<text outgroups5>
/ items = ("East Asian","East Asian","East Asian","East Asian","South Asian","South Asian","South Asian","South Asian","White","White","Black","Middle Eastern")
/ select = noreplace
</text>
<text outgroups6>
/ items = ("East Asian","East Asian","East Asian","East Asian","South Asian","South Asian","South Asian","South Asian","White","White","Black","Multiracial")
/ select = noreplace
</text>
<text outgroups7>
/ items = ("East Asian","East Asian","East Asian","East Asian","South Asian","South Asian","South Asian","South Asian","White","White","Black","Multiracial")
/ select = noreplace
</text>
<text ingroup>
/ items = ("ingroup = dropdown.ethnicity.option")
</text>
<item outgroups>
</item>
<text outgroupsfilled>
/ items = outgroups
</text>
<trial ingroup>
/ stimulustimes = [0=ingroup;100=descriptions]
/ response = anyresponse
</trial>
<trial outgroup>
/ stimulusframes = [0=outgroupsfilled;100=descriptions]
/ response = anyresponse
</trial>
<block ingroup100>
/ trials = [1-12=ingroup]
</block>
<block ingroup075>
/ trials = [1-12=noreplacenorepeat(ingroup,ingroup,ingroup,outgroup)]
</block>
<block ingroup050>
/ trials = [1-12=noreplacenorepeat(ingroup,ingroup,outgroup,outgroup)]
</block>
<block ingroup025>
/ trials = [1-12=noreplacenorepeat(ingroup,outgroup,outgroup,outgroup)]
</block>
<block ingroup000>
/ trials = [1-12=noreplacenorepeat(outgroup,outgroup,outgroup,outgroup)]
</block>
<expt>
/ subjects = (1 of 5)
/ blocks = [1=demographics;2=ingroup100]
</expt>
<expt>
/ subjects = (2 of 5)
/ blocks = [1=demographics;2=ingroup075]
</expt>
<expt>
/ subjects = (3 of 5)
/ blocks = [1=demographics;2=ingroup050]
</expt>
<expt>
/ subjects = (4 of 5)
/ blocks = [1=demographics;2=ingroup025]
</expt>
<expt>
/ subjects = (5 of 5)
/ blocks = [1=demographics;2=ingroup000]
</expt>
Error Message: "/stimulusframes: Event number must be greater than 0" associated with the "<trial outgroup>" object. This makes me think that I am not correctly associating the outgroups text stimuli (e.g., outgroups1, outgroups2) with my "outgroups" item object. Replacing the <surveypage demographicspage> block of code with the following does not help:
<surveypage demographicspage>
/ caption = "Please begin by answering the following demographic questions:"
/ questions = [1=sex;2=ethnicity]
/ ontrialend = [if (dropdown.ethnicity == 1) item.outgroups.item = text.outgroups1; if (dropdown.ethnicity == 2) item.outgroups.item = text.outgroups2; if (dropdown.ethnicity== 3) item.outgroups.item = text.outgroups3 ; if (dropdown.ethnicity== 4) item.outgroups.item = text.outgroups4 ; if (dropdown.ethnicity== 5) item.outgroups.item = text.outgroups5 ; if (dropdown.ethnicity == 6) item.outgroups.item = text.outgroups6 ; if (dropdown.ethnicity == 7) item.outgroups.item = text.outgroups7]
</surveypage>
Does anyone know what I am doing wrong, or if this is something that Inquisit can do? Thank you in advance for your insight and help!