Skip to main content
3 of 5
added 1 character in body
dimitriy
  • 38.3k
  • 7
  • 83
  • 167
  1. You need to use the i. prefix in front of connectivity to let Stata know that it is dealing with a categorical variable. Otherwise Stata will assume that it is continuous, which is why you only get one parameter. Some people do treat Likert scale variables as if they were continuous, but I would avoid it since it bakes in some strong assumptions.
  2. You can use margins to get the marginal effects for each outcomes.

Here's an example with the cars data. The outcome is repair record (1=Poor, Fair, Average, Good, and 5=Excellent) and the explanatory variable is rounded and scaled version of miles per gallon (1=low mileage,2,3,4=high mileage), cat_var:

webuse fullauto, clear
gen cat_var = round(mpg,10) 
replace cat_var = cat_var/10

oprobit rep78 i.cat_var 
margins, dydx(cat_var)

So for example, the ME for 4 versus 1 for outcome 5 (Excellent) is .5727857, which means that the probability that a car's repair record is rated as excellent goes up by .57 on a 0-1 scale as we go from the lowest mileage bucket to the highest.

dimitriy
  • 38.3k
  • 7
  • 83
  • 167