Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Combining Multiple Likert-Scale Ordinal Variables to Create One New Variable

    Good Afternoon,
    I have 5 ordinal Likert Scale Variables that have been labeled. I am interested in combing all 5 of these variables into one singular variable. Is this possible?

    Thank you,
    Cyd

  • #2
    Hi Cyd. That certainly sounds doable, but you'll have to provide some more detail on your variables and how you'd like to combine them - e.g. Are your variables stored numerically? Do you want a sum of the 5 scores? Do you have any missing data?

    Comment


    • #3
      Hi Niamh, thanks for your response. My variables are nominal, (Brand Attitude 1, Brand Attitude 2, Brand Attitude 3, Brand Attitude 4, and Likert Scale (1-Strongly Disagree, 2-Disagree, 3-Neutral, 4-Agree, 5-Strongly Agree). I would like to sum all of the 1-Strongly Disagrees for BA1, BA2, BA3, BA4, BA5 and then the 2-Disagree's for BA1, BA2, BA3, BA4, BA5, etc...
      There is no missing data.

      Thank you!

      Comment


      • #4
        Something like this?

        Code:
        set seed 01052021
        set obs 30
        lab def attitude 1 "Strongly Disagree" 2 "Disagree" 3 "Neutral" 4 "Agree" 5 "Strongly Agree"
        forval i=1/5{
             gen BA`i'= runiformint(1,5)
             lab values BA`i' attitude
        }
        *START HERE
        gen id=_n
        reshape long BA, i(id) j(which)
        tab BA
        reshape wide BA, i(id) j(which)
        Res.:

        Code:
        . tab BA
        
                       BA |      Freq.     Percent        Cum.
        ------------------+-----------------------------------
        Strongly Disagree |         30       20.00       20.00
                 Disagree |         28       18.67       38.67
                  Neutral |         30       20.00       58.67
                    Agree |         26       17.33       76.00
           Strongly Agree |         36       24.00      100.00
        ------------------+-----------------------------------
                    Total |        150      100.00

        Comment


        • #5
          Stealing Andrew Musau's interpretation of the question and his example, here's another way to get a combined table:

          Code:
          clear
          
          set seed 01052021
          
          set obs 30
          lab def attitude 1 "Strongly Disagree" 2 "Disagree" 3 "Neutral" 4 "Agree" 5 "Strongly Agree"
          
          forval i=1/5{
                 gen BA`i'= runiformint(1,5)
                 lab values BA`i' attitude
           }
          
          
          * START HERE
          
          ssc install tab_chi
          
          tabm B*, transpose
          
                            |                        variable
                     values |       BA1        BA2        BA3        BA4        BA5 |     Total
          ------------------+-------------------------------------------------------+----------
          Strongly Disagree |         6          6          4          7          7 |        30
                   Disagree |         3          4          9          4          8 |        28
                    Neutral |         7          7          6          5          5 |        30
                      Agree |         4          7          8          4          3 |        26
             Strongly Agree |        10          6          3         10          7 |        36
          ------------------+-------------------------------------------------------+----------
                      Total |        30         30         30         30         30 |       150
          tabm supports options of tabulate.
          Last edited by Nick Cox; 06 Jan 2021, 03:14.

          Comment

          Working...
          X