Summary data for likert scale version of UPPS


Author
Message
becgwin
becgwin
Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)
Group: Forum Members
Posts: 53, Visits: 313
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



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: 12K, Visits: 98K
becgwin - Monday, March 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



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>


becgwin
becgwin
Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)Guru (6.9K reputation)
Group: Forum Members
Posts: 53, Visits: 313
Dave - Monday, March 20, 2017
becgwin - Monday, March 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



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>


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



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: 12K, Visits: 98K
becgwin - Thursday, March 23, 2017
Dave - Monday, March 20, 2017
becgwin - Monday, March 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



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>


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.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search