Solved – Help interpreting interaction terms in proportional cumulative logistic regression- ordinal regression

I am using the polr() function in R to analyze the relationship between a students score on their first exam, their score in their prerequisite course, and their beginning of semester GPA on their final grade in their current course. The code would look something like this:

``GradeProp <- polr(CurrentGrade ~ FirstExam + PreReqGrade + GPA,                                   method='logistic', Hess=TRUE, data=xyz) ``

I am able to interpret these results without too much issue.

When I include interaction terms, say something like:

``GradeProp <- polr(CurrentGrade ~FirstExam + PreReqGrade +GPA + GPA*PreReqGrade, method='logistic', Hess=TRUE, data=xyz) ``

I am not confident about how to interpret the interaction term `GPA*PreReqGrade`.
All terms are significant. GradeProp, the response variable, is set to 1,2,3,4,5 for F,D,C,B,A grades. Here is an example output from R (I changed the signs of the terms already!)

``               Value CurrentGrade     0.063634 GPA              0.006205 PreReqGrade      0.030567 GPA:PreReqGrade  -0.00259 1|2              -2.96141 2|3              -1.76561 3|4              -0.28012 4|5               1.55617 ``

Can someone please, please write an explanation for this output? I have read and read about this. It seems as though one source will skim right past it, and another will just give the answer without any explanation where it came from. I really need to know how to calculate the odds and probabilities when there is an interaction term (or two) in a Proportionals Odds Cumulative Logistic Model.
Model information: https://onlinecourses.science.psu.edu/stat504/node/176

Thank you very, very much for your time!

Contents

You may find the `lrm` and `orm` functions in the R `rms` package easier to use for these types of displays. Type `?Predict.rms` and `?ggplot.Predict` for example code for getting predictions and interest and plotting them. The most general approach is using contrasts: `?contrast.rms`.
Note that in R when you have a `*` interaction term you don't also list the main effects as these are automatically generated.