Calculating the Mean of an Ordinal Variable Question I have distributed and analyzed a survey regarding teaching quality. For some of the questions, I ask how often a given teaching method is used. When doing this I ask them to select one of the following options in a question such as this example below:
My professor used class participation/discussions in...
a) 0% - 25% of classes
b) 26% - 50% of classes
c) 51% - 75% of classes
d) 76% - 100% of classes
When analyzing this data I would like to use a single value for a measure of central tendency to compare the different methods and even visualize them in a barplot. When doing this could I use the mean value for each teaching method or is the median the more statistically appropriate measure to use. The problem I have come up with when using the mean and visualizing the information in a barplot is that I do not know what I would say if someone asked me what the value of one of the bars are, given that they are in between the options. Furthermore, how would I elaborate if someone asked what the numerical difference is between two bars that are placed in between options? Thanks for anyone willing to help.
 A: Barplots graph the counts for different values of a categorical variable, but histograms plot binned quantitative data. Your data is probably better viewed as binned quantitative data and therefore should be plotted as a histogram. This just means that the bars in your graph will be touching and the order of the bars matters because the X-axis represents the percent of classes in which the professor incorporated participation.   
Either way, your bars should correspond 1:1 with the available response options. That means you should have four bars, one for each option: 0-25, 26-50, etc. There isn't really anything you can say about individual points or the heights at specific values. You only know the counts over the given ranges. The height of each bar corresponds to the number (or fraction) of responses that chose that range.
I also wouldn't recommend making any calculations based on the centers of the ranges as you really don't know how the data is distributed unless you fit a model. Why not use the mode as a measure of central tendency? "Most students report that their professor uses participation in 26-50% of classes." You can also make claims like "70% of students report the professor uses participation in more than 25% of classes", but that's about it.
A: In general, when you have ordinal categories, say for opinions, it is appropriate to
use the median to describe the center of the sample. Thus the median can estimate the center of the population of opinions. However, the
definitions given in the questionnaire
for your opinion categories are numerical (percentages). So you might use the mean, if you are careful about its interpretation.
Ordinal categorical variable. For example, suppose you have data from 100 students (simulated in R) as follows, using
numbers "1", "2", "3", "4" to label the four categories. We have
frequencies $f_1 = 11, f_2= 29, f_3= 36, f_4= 24.$


*

*It would be wrong to say that the mean of this sample is $2.73$ because
the labels "1", "2", "3", "4" are labels for categories, not actual numbers.

*But it would be OK to say that the median category is "3" because
less than half of the 100 responses were below "3" and less than half
above. The labels are not actual numbers but they do have order---higher
labels indicate more classroom discussion. 
In terms of percentages, many of
my (simulated) students seem to be saying that the percentage of
classes with discussion was somewhere in the interval $[51, 75],$
with some saying less discussion and some saying more.
set.seed(531)  # for reproducibility
x = sample(1:4, 100, rep=T, p=c(.2,.3,.3,.2))
tabulate(x)
[1] 11 29 36 24
mean(x)
[1] 2.73   # nonsense mean of ordinal labels
median(x)
[1] 3      # median of ordinal labels

Graphical displays. Treating labels as if they were numbers, you can use R to make a "histogram" of the data (left panel below). I have 'fudged' bin boundaries to be $.5, 1.5, 2.5, 3.5, 4.5$ in order to make the R procedure hist work properly.
A more natural graphical display for categorical data is the barplot (right panel below). [In your question, I don't know what you mean by "bars between the options." I did not encounter these in my graphical displays.]
par(mfrow=c(1,2))
  hist(x, br=cut, ylim=c(0, 40), label=T, col="skyblue2", xlab="")
  barplot(table(x), col="skyblue2", main="Barplot of x")
par(mfrow=c(1,1))


Viewing categories as intervals for grouped numerical data. If we look at how categories are defined on the questionnaire, we have four intervals, on a percentage scale: 0-25, 26-50, 51-75 and 76-100. The centers of these four intervals are $m_1 = 12.5, m_2 = 38,$ $m_3 = 63,
m_4 = 88,$ on the percentage scale. Taking the data to give frequencies of intervals with these
midpoints, we can approximate the mean using a standard formula:
$$\bar X \approx \frac{\sum_{i=1}^k f_im_i}{\sum_{i=1}^k f_i},$$
where $k$ is the number of intervals. So the 'grouped data' formula
gives $\bar X \approx 56.2.$ 
If we suppose all of the 100 students
could give their own individual numerical recollections of the percentage of classes with discussion,
this  would be the approximate average of their responses.
f = c(11, 29, 36, 24)
m = c(12.5, 38, 63, 88)
sum(f*m)/sum(f)
[1] 56.195

As a practical matter, I wonder how accurately students try to guess the true percentage of classes with discussion when they just have to choose one
of four intervals on a questionnaire. It seems best to take this approximate mean as saying "Roughly, 56% of classes (slightly more than half) had discussion," rather than as saying, "Exactly 56.195% of classes
had discussion."
