By becgwin - 3/20/2017
Hi,
I have developed a script for the UPPS using a likert scale so that only one item appears at a time on screen (as versus using radiobuttons). I am trying to work out how to create a summary data file that adds the responses but can't get it to work. I have looked at a number of other scripts and they often seem to use expressions such as:
<data> / columns = [date time subject trialcode trialnum blockcode blocknum response latency totalmeanlatency totalsdlatency correct error totalnumcorrect totalpercentcorrect stimulusitem stimulusitem stimulusitem] </data>
They haven't defined properties such as totalmeanlatency or totalnnumcorrrect previously - they just seem to be terms understood by Inquisit. If this is the case, where might I find the correct properties that would allow me to do as per above for a likert type script whose raw data file includes response and latency. I have tried to do this as follows but it doesn't work (perhaps sum is not the right terminology):
<summarydata> / columns = [script.subjectid, script.startdate, script.starttime, totalsumlatency, totalsumresponse] </summarydata>
Does anyone have a suggestion as how to do this?
Also, despite my specifying exactly how I want my raw data file to be, I seem to always get the defaults including such items as pretrialpause, posttrialpause windowcenter etc. which I don't need. Any suggestions as to what I am doing wrong?
Thanks, Rebecca
|
By Dave - 3/20/2017
+xHi, I have developed a script for the UPPS using a likert scale so that only one item appears at a time on screen (as versus using radiobuttons). I am trying to work out how to create a summary data file that adds the responses but can't get it to work. I have looked at a number of other scripts and they often seem to use expressions such as: <data> / columns = [date time subject trialcode trialnum blockcode blocknum response latency totalmeanlatency totalsdlatency correct error totalnumcorrect totalpercentcorrect stimulusitem stimulusitem stimulusitem] </data> They haven't defined properties such as totalmeanlatency or totalnnumcorrrect previously - they just seem to be terms understood by Inquisit. If this is the case, where might I find the correct properties that would allow me to do as per above for a likert type script whose raw data file includes response and latency. I have tried to do this as follows but it doesn't work (perhaps sum is not the right terminology): <summarydata> / columns = [script.subjectid, script.startdate, script.starttime, totalsumlatency, totalsumresponse] </summarydata> Does anyone have a suggestion as how to do this? Also, despite my specifying exactly how I want my raw data file to be, I seem to always get the defaults including such items as pretrialpause, posttrialpause windowcenter etc. which I don't need. Any suggestions as to what I am doing wrong? Thanks, Rebecca For the default data columns (these apply to *raw* data files / the <data> element only) see https://www.millisecond.com/support/docs/v4/html/language/datarecording.htm
Available properties for any given element are listed in the respective element's language reference entry under "Properties", e.g. https://www.millisecond.com/support/docs/v4/html/language/elements/likert.htm
There is no such thing as a "totalsumresponse" property. The way to do this is with global variables (<values> entries), i.e. you sum the responses up /ontrialend, store the result in a value, and log that value to the (summary) data file. Example:
<values> / sumratings = 0 </values>
<block myblock> / trials = [1-4 = mylikert] </block>
<likert mylikert> / ontrialend = [values.sumratings += likert.mylikert.response] / stimulusframes = [1=mytext] </likert>
<text mytext> / items = ("A", "B", "C", "D") / position = (50%, 40%) </text>
<summarydata> / columns = [script.startdate script.starttime script.subjectid script.groupid likert.mylikert.totalsumlatency likert.mylikert.totalcount values.sumratings] / separatefiles = true </summarydata>
|
By becgwin - 3/23/2017
+x+xHi, I have developed a script for the UPPS using a likert scale so that only one item appears at a time on screen (as versus using radiobuttons). I am trying to work out how to create a summary data file that adds the responses but can't get it to work. I have looked at a number of other scripts and they often seem to use expressions such as: <data> / columns = [date time subject trialcode trialnum blockcode blocknum response latency totalmeanlatency totalsdlatency correct error totalnumcorrect totalpercentcorrect stimulusitem stimulusitem stimulusitem] </data> They haven't defined properties such as totalmeanlatency or totalnnumcorrrect previously - they just seem to be terms understood by Inquisit. If this is the case, where might I find the correct properties that would allow me to do as per above for a likert type script whose raw data file includes response and latency. I have tried to do this as follows but it doesn't work (perhaps sum is not the right terminology): <summarydata> / columns = [script.subjectid, script.startdate, script.starttime, totalsumlatency, totalsumresponse] </summarydata> Does anyone have a suggestion as how to do this? Also, despite my specifying exactly how I want my raw data file to be, I seem to always get the defaults including such items as pretrialpause, posttrialpause windowcenter etc. which I don't need. Any suggestions as to what I am doing wrong? Thanks, Rebecca For the default data columns (these apply to *raw* data files / the <data> element only) see https://www.millisecond.com/support/docs/v4/html/language/datarecording.htmAvailable properties for any given element are listed in the respective element's language reference entry under "Properties", e.g. https://www.millisecond.com/support/docs/v4/html/language/elements/likert.htmThere is no such thing as a "totalsumresponse" property. The way to do this is with global variables (<values> entries), i.e. you sum the responses up /ontrialend, store the result in a value, and log that value to the (summary) data file. Example: <values> / sumratings = 0 </values> <block myblock> / trials = [1-4 = mylikert] </block> <likert mylikert> / ontrialend = [values.sumratings += likert.mylikert.response] / stimulusframes = [1=mytext] </likert> <text mytext> / items = ("A", "B", "C", "D") / position = (50%, 40%) </text> <summarydata> / columns = [script.startdate script.starttime script.subjectid script.groupid likert.mylikert.totalsumlatency likert.mylikert.totalcount values.sumratings] / separatefiles = true </summarydata>
Thanks so much again Dave for your ongoing help. Worked a treat. But I have another scenario with Likerts and I'm not surehow to apply this! I think it may need another solution. I’m notsure what to do if you need to generate a number of separate scores when usinga scale in which you have subscales. How would you generate separate sumscores for each subscale? I understand you could create different valuesfor each, i.e.
<values> / sumratingsscale1 = 0 / sumratingsscale2 = 0 </values>
but then how would you specify which particular items within the likert scalewere in which subscale (or sumratings). This is relevant as I have allthe questions in a particular order (as specified by the author) and thus haveput all of them under one item i.e. <item UPPS>. I can't break theminto separate items for each subscale because of the item order required. Is there anyway to select questions from within one item (according to theirnumber?). For example I tried the following withlikert.attitude.response1 (where response 1 is meant to be the first questionin the item UPPS) etc, but it didn't work:
<likert Attitude> / anchors = [1="Strongly Agree"; 2 = "Agree some"; 3 ="Disagree some"; 4="Strongly Disagree"] / stimulusframes = [1 = scalequestions] / mouse=true / numpoints=4 / position= (50%, 70%) / anchorwidth = 20% / ontrialend = [values.sumratingsscale1 += (likert.attitude.response1 +likert.attitude.response4 + likert.attitude.response5)] / ontrialend = [ [values.sumratingsscale2 += (likert.attitude.response2 +likert.attitude.response3 + likert.attitude.response6)] </likert>
Can you help me with this? It would be fantastic and would make analysisso much easier.
Thanks so much,
Rebecca
|
By Dave - 3/24/2017
+x+x+xHi, I have developed a script for the UPPS using a likert scale so that only one item appears at a time on screen (as versus using radiobuttons). I am trying to work out how to create a summary data file that adds the responses but can't get it to work. I have looked at a number of other scripts and they often seem to use expressions such as: <data> / columns = [date time subject trialcode trialnum blockcode blocknum response latency totalmeanlatency totalsdlatency correct error totalnumcorrect totalpercentcorrect stimulusitem stimulusitem stimulusitem] </data> They haven't defined properties such as totalmeanlatency or totalnnumcorrrect previously - they just seem to be terms understood by Inquisit. If this is the case, where might I find the correct properties that would allow me to do as per above for a likert type script whose raw data file includes response and latency. I have tried to do this as follows but it doesn't work (perhaps sum is not the right terminology): <summarydata> / columns = [script.subjectid, script.startdate, script.starttime, totalsumlatency, totalsumresponse] </summarydata> Does anyone have a suggestion as how to do this? Also, despite my specifying exactly how I want my raw data file to be, I seem to always get the defaults including such items as pretrialpause, posttrialpause windowcenter etc. which I don't need. Any suggestions as to what I am doing wrong? Thanks, Rebecca For the default data columns (these apply to *raw* data files / the <data> element only) see https://www.millisecond.com/support/docs/v4/html/language/datarecording.htmAvailable properties for any given element are listed in the respective element's language reference entry under "Properties", e.g. https://www.millisecond.com/support/docs/v4/html/language/elements/likert.htmThere is no such thing as a "totalsumresponse" property. The way to do this is with global variables (<values> entries), i.e. you sum the responses up /ontrialend, store the result in a value, and log that value to the (summary) data file. Example: <values> / sumratings = 0 </values> <block myblock> / trials = [1-4 = mylikert] </block> <likert mylikert> / ontrialend = [values.sumratings += likert.mylikert.response] / stimulusframes = [1=mytext] </likert> <text mytext> / items = ("A", "B", "C", "D") / position = (50%, 40%) </text> <summarydata> / columns = [script.startdate script.starttime script.subjectid script.groupid likert.mylikert.totalsumlatency likert.mylikert.totalcount values.sumratings] / separatefiles = true </summarydata> Thanks so much again Dave for your ongoing help. Worked a treat. But I have another scenario with Likerts and I'm not surehow to apply this! I think it may need another solution. I’m notsure what to do if you need to generate a number of separate scores when usinga scale in which you have subscales. How would you generate separate sumscores for each subscale? I understand you could create different valuesfor each, i.e.
<values> / sumratingsscale1 = 0 / sumratingsscale2 = 0 </values>
but then how would you specify which particular items within the likert scalewere in which subscale (or sumratings). This is relevant as I have allthe questions in a particular order (as specified by the author) and thus haveput all of them under one item i.e. <item UPPS>. I can't break theminto separate items for each subscale because of the item order required. Is there anyway to select questions from within one item (according to theirnumber?). For example I tried the following withlikert.attitude.response1 (where response 1 is meant to be the first questionin the item UPPS) etc, but it didn't work:
<likert Attitude> / anchors = [1="Strongly Agree"; 2 = "Agree some"; 3 ="Disagree some"; 4="Strongly Disagree"] / stimulusframes = [1 = scalequestions] / mouse=true / numpoints=4 / position= (50%, 70%) / anchorwidth = 20% / ontrialend = [values.sumratingsscale1 += (likert.attitude.response1 +likert.attitude.response4 + likert.attitude.response5)] / ontrialend = [ [values.sumratingsscale2 += (likert.attitude.response2 +likert.attitude.response3 + likert.attitude.response6)] </likert>
Can you help me with this? It would be fantastic and would make analysisso much easier.
Thanks so much,
Rebecca > but then how would you specify which particular items within the likert scalewere in which subscale Generally speaking, you either need to make your /ontrialend logic *conditional*
/ ontrialend = [if (text.scalequestions.currentitemnumber == 1 || ext.scalequestions.currentitemnumber == 4 || ... )values.sumratingsscale1 += likert.attitude.response]
or set up separate <likert> for each subscale.
|
|