Average response times per stimulus item


Author
Message
celeste
celeste
Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)
Group: Forum Members
Posts: 21, Visits: 1

Dear,


I have designed a variation to the IAT to measure brand personality.  I have two attributes ('Ja' and 'Nee' - 'Yes' and 'No) and 24 pictures (items) which are presented and to which the participant has to indicate to which attribute it belongs.  There are no correct or incorrect answers.  Although this is by far not true implicit manner, I do want use it to try and tap the unconscious, arguing that the participant will go on 'auto pilot'  mode after sevaral words, seeing that it is very important that he/she reacts as quick as possible.


Anyway, I am trying to make sure that the average reaction time per stimulusitem is recorded.   Do I then have to make 24 trials?  For now I have simply added 'stimulusonset' and 'latency' to the data columns.  If I am correct this ads the response time per item to the data, and then I can calculate the mean time in SPSS.  Is this correct and enough?  And if so which one of the two '('stimulusonset' or 'latency' is better?  The seem the same?).  Is there an easier way to straigh away calculate the mean reaction time per item?  So that I can also use it in my summery?


I have attached a part of the script I am using.  I have used a previously made SC-IAT, so part of the script is 'useless', like the expressions.da, for this purpose.


Thank you very very much for your help.


Kind regards,


Celeste Miller



**********************************************************************
<item attributeAlabel>
/1 = "Ja"
</item>


<item attributeBlabel>
/1 = "Nee"
</item>


<item attributeA>
/1 = "23plusone2012_voorkant.jpg"
/2 = "23plusone2012_voorkant2.jpg"
/3 = "23plusone2012_voorkant3.jpg"
/4 = "23plusone2012_voorkant4.jpg"
/5 = "23plusone2012_voorkant5.jpg"
/6 = "23plusone2012_voorkant6.jpg"
/7 = "23plusone2012_voorkant7.jpg"
/8 = "23plusone2012_voorkant8.jpg"
/9 = "23plusone2012_voorkant9.jpg"
/10 = "23plusone2012_voorkant10.jpg"
/11 = "23plusone2012_voorkant11.jpg"
/12 = "23plusone2012_voorkant12.jpg"
/13 = "23plusone2012_voorkant13.jpg"
/14 = "23plusone2012_voorkant14.jpg"
/15 = "23plusone2012_voorkant15.jpg"
/16 = "23plusone2012_voorkant16.jpg"
/17 = "23plusone2012_voorkant17.jpg"
/18 = "23plusone2012_voorkant18.jpg"
/19 = "23plusone2012_voorkant19.jpg"
/20 = "23plusone2012_voorkant20.jpg"
/21 = "23plusone2012_voorkant21.jpg"
/22 = "23plusone2012_voorkant22.jpg"
/23 = "23plusone2012_voorkant23.jpg"
/24 = "23plusone2012_voorkant24.jpg"
</item>


<picture attributeA>
/ items = attributeA
/ size = (30%, 30%)
</picture>


*************************************************


<block compatibletest>
/ bgstim = (attributeAleft, attributeBright, reminder, merk)
/ trials = [1-96 = noreplace(attributeA)]
/ responsemode = correct
/ ontrialend = [if(block.compatibletest.latency  <= 10000) values.sum1b =  values.sum1b + block.compatibletest.latency]
/ ontrialend = [if(block.compatibletest.latency  <= 10000) values.n1b =  values.n1b + 1]
/ ontrialend = [if(block.compatibletest.latency  <= 10000) values.ss1b =  values.ss1b + (block.compatibletest.latency * block.compatibletest.latency)]
</block>


*********************************


<data>
/ columns = [date, time, subject, blockcode, blocknum, trialcode, trialnum, response, correct, latency, stimulusonset, meanlatency, stimulusnumber, stimulusitem, expressions.da, expressions.db, expressions.d ]
</data>





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: 108K

Do I then have to make 24 trials?


That would be one option. Then log the meanlatency property for each of the respective trial elements.


For now I have simply added 'stimulusonset' and 'latency' to the data columns.


stimulusonset is not the same as latency, so I'm not sure about the intention.


If I am correct this ads the response time per item to the data, and then I can calculate the mean time in SPSS.  Is this correct and enough?


What you are looking for is conducting a "by-item" analysis. I.e., you aggregate data for a given item across subjects, instead of aggregating data for a given subject across items. I'm sure you can find tutorials on how to do that in SPSS on the net.


Regards,


~Dave


celeste
celeste
Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)
Group: Forum Members
Posts: 21, Visits: 1

Thank you for your feedback!


I have decided to choose for 24 different trials.  Could you give me small piece of advice on how to incorperate the meanlatency property for each of the respective trial elements.  I have also found that it is possible to record the total mean latency per trial.  I assume this would be overal mean latencies for the trial (when repeated).  So far I have this for one of the trials 'IdealismeBeterewereld', with recording the total mean latency 'IdealismeBeterewereldreactie'..  I have read in an earlier pos (http://www.millisecond.com/forums/Topic685.aspx#685) t that you have to make the text element in the same colour as the background and in a different position, so the totalmeanlatency is registered but not noticable.


***********************************************************************
Total Mean Latency
***********************************************************************
<text IdealismeBeterewereldreactie>
/ items= ("totalmeanlatency = <% trial.IdealismeBeterewereld.totalmeanlatency %>")
/ valign = top
/ halign = right
/ position = (95%, 10%)
/ fontstyle = ("Agency FB", 1.56%, false, false, false, false, 5, 1)
/ txcolor = (255, 255, 255)
/ fontstyle = ("Arial", 5%)
</text>


***********************************************************************
Trials
***********************************************************************


<trial IdealismeBeterewereld>
/ validresponse = ("E", "I", noresponse)
/ response = timeout (5000)
/ stimulusframes = [1 = IdealismeBeterewereldreactie, IdealismeBeterewereld]
</trial>


***********************************************************************
Blocks
***********************************************************************


<block Test>
/ bgstim = (attributeAleft, attributeBright, reminder, merk)
/ trials = [1-96=noreplace(IdealismeBeterewereld, LoyaalMoreel, VerbondenSamen, WarmZorgzaam, OrdeStructuur, VeiligBeschermd, OntspannenZorgeloos, SpeelsPlezier, OngebondenOnafhankelijk, CreatiefFantasie, IndividueelUniek, OntdekkenNieuwsgierig, VaardigTalent, PrestatieVooruitgang, UitdagingWinnen, TrotsZelfverzekerd, WaarderingErkenning, AanzienPrestige, BezitVerzamelen, InvloedLeiderschap, FitSportief, GezondheidVoeding, MooiSchoonheid, SexyOpwindend)]
/ responsemode = correct
/ ontrialend = [if(block.test.latency  <= 10000) values.sum1b =  values.sum1b + block.test.latency]
/ ontrialend = [if(block.test.latency  <= 10000) values.n1b =  values.n1b + 1]
/ ontrialend = [if(block.test.latency  <= 10000) values.ss1b =  values.ss1b + (block.test.latency * block.test.latency)]
</block>


-  In theearlier post it states that now, the data column "stimulusitem1" will contain the running mean latency for each type of trial.   I must be doing something wrong, or understanding it wrongly, but when I add "stimulusitem1" to the data column, it doesn't seem like the overall mean latency for the specific trial.  I am aiming to gain the overal mean latencies for each trial (so that would be 24 mean latencies) and also present these in a summary to the participant at the end.  If possible a top 5 (the 5 smallest).  


I would truly appreciate it if you could check this small part of script and give me some advice on how to gain the mean latencies for the 24 trials in my data column.  Is it true that incorperating a summery data including the mean latencies would make my data easier to read, as the data columns keep on tracking data per trial and therefore I can not find the overal mean latencies. 


Thank you very very much for your help. Any tips/advise would be very much appreciated.


Celeste



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: 108K

"stimulusitem1"


That column will hold the 1st stimulus item as presented by the respective trial, i.e.,


/ stimulusframes = [1 = IdealismeBeterewereldreactie, IdealismeBeterewereld]


for the example trial you posted. To log further stimuli to the data file, you add further 'stimulusitem' columns (and you *don't* number them).


To direcly log the 'totalmeanlatency' properties to the data file, specify them in the <data> element's /columns attribute:


/ columns = [..., trial.IdealismeBeterewereld.totalmeanlatency, ...]


Obviously, the last line of data will contain the respective means. You'll find all of this covered in the respective documentation topics.


To display the latencies in an on-screen summary, have your summary <trial> display the respective <text> elements.


Regards,


~Dave


celeste
celeste
Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)
Group: Forum Members
Posts: 21, Visits: 1

Dear Dave,


Thank you again for your reply.


Something seems to be going wrong.  I have changed /stimulusframes to /stimulustimes, since I want a warning to be presented after 2000ms.


So it now looks like this:


***********************************************************************
Total Mean Latency
***********************************************************************
<text IdealismeBeterewereldreactie>
/ items= ("totalmeanlatency = <% trial.IdealismeBeterewereld.totalmeanlatency %>")
/ valign = top
/ halign = right
/ position = (95%, 10%)
/ fontstyle = ("Agency FB", 1.56%, false, false, false, false, 5, 1)
/ txcolor = (255, 255, 255)
/ fontstyle = ("Arial", 5%)
</text>


***********************************************************************
Trials
***********************************************************************


<trial IdealismeBeterewereld>
/ validresponse = ("E", "I", noresponse)
/ response = timeout (5000)
/ stimulustimes = [1 = IdealismeBeterewereld, Idealismebeterewereldreactie; 2000 = warning]
/ responsetime=1
/ posttrialpause = 250
</trial>


***********************************************************************
Data Columns
***********************************************************************


<data>
/ columns = [date, time, subject, blockcode, blocknum, trialcode, trialnum, response, latency, meanlatency, stimulusitem, trial.IdealismeBeterewereld.totalmeanlatency, expressions.da, expressions.db]
</data>


I still have three questions:


-  I have only tried to gain the totalmeanlatency for one trial 'IdealismeBeterewereld',  but unfortunately the column doesn't appear in my data. Does this have to do with the fact that I have changed /stimulusframes to /stimulustimes or have I done somethings else wrong? 


- Is it possible that response latencies provided by one key/response ('E') have a negative valence and response latencies provided by the other key/response ('I') have a positive valence.  So that the mean latencies for one trial take the response given into account and provides the association strenght but also the valence (positive/negative). How can I do this?


- Is it possible to provide a summary with ranked mean latencies per trail - from strong negative to strong positive?


I have uploaded my script if that might help.


Thank you very very much again. 


Celeste



 depended on the response (a response with key 'E' is positive and reponse with key 'I' is negative, and the mean would be calculated?



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: 108K

-  I have only tried to gain the totalmeanlatency for one trial 'IdealismeBeterewereld',  but unfortunately the column doesn't appear in my data. Does this have to do with the fact that I have changed /stimulusframes to /stimulustimes or have I done somethings else wrong? 


The column is there. Check your /recorddata settings.


- Is it possible that response latencies provided by one key/response ('E') have a negative valence and response latencies provided by the other key/response ('I') have a positive valence.  So that the mean latencies for one trial take the response given into account and provides the association strenght but also the valence (positive/negative). How can I do this?


I have no idea what you mean here, but this strikes me as a theoretical / methodological rather than a technical question. I'm afraid I can't help with that.


- Is it possible to provide a summary with ranked mean latencies per trail - from strong negative to strong positive?


No, but see above. Also, you obviously have only *one* mean latency per trial, so what would there be to rank?


celeste
celeste
Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)Distinguished Member (3.2K reputation)
Group: Forum Members
Posts: 21, Visits: 1

Dear Dave,


Thank you for your reply!  I have managed to collect the mean latencies of each trial, very handy!  Seeing that the mean latencies are important, but also the given response (yes or no), I am half way!


Just coming back on your second quote; at the moment I have the mean latencies of each trial, but these could be gained with either the "E" or the "I" key (there are no 'correct' or 'incorrect' responses, the "E" (yes) and "I" (no) reflects wherther the participants associates a picture to a brand.)  At the moment I have 24 trials (1 trail per picture), which are randomly repeated 4 times, so the participant could answer 'yes' and 'no' to one picture.  For me it is very important to take the response into account.  Is it possible to weigh each reaction time per trial with it's respective response (yes or no) so that:


If response is "E", latency = max.latency (the time-out of 5000ms)  - latency (current)


if response is 'I' latency = - (latency)        --> so negative.


I hope you understand what I mean.  I have tried several times to turn the latency into a negative one, by using /ontrailend:


/ ontrialend = [if (trial.IdealismeBeterewereld.response== "23") trial.IdealismeBeterewereld.latency = -(trial.IdealismeBeterewereld.latency)] 


But I get the following error:  "expression trial.IdealismeBeterewereld.latency is invalid, because the expression attempts to set the value of read-only property"


Even when I set a text element for trial.IdealismeBeterewereld.latency, It doens't work.  What have I done wrong? Is it even possible to turn the reaction time into a negative reaction time?


I hope you understand.  Thank you very much!


Kind regards,



Celeste Miller



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: 108K

The latency property is read-only. You cannot overwrite or change it, and it's good that you can't. You need to work with <values> instead.


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search