Automating Values from Grouped Data
Return to Topics page
In the previous page,
Getting Measures from Grouped Data, we walked through processes
to find values such as the approximate mean and standard deviation
from data that is presented in a frequency table of intervals (bins).
An example of this situation was given by the table:
The approach that we took involved
This process could be used to
solve any similar problem.
The process never changes. The only change that
we have from problem to problem is that we have different
low and high points for the intervals,
a different number of intervals,
and different frequencies for each interval.
Because the steps that we take to solve the problem
never change we can capture those steps in a function.
a list of the midpoints of the intervals
- creating a list of the frequencies
of the intervals
- creating a new valiable
that had each midpoint value repeated the frequency number of times.
When we set out to design such a function
we need to determine what values we need to give to the
function. Clearly, the frequencies change for each problem and even
the number of intervals will change.
Also, the low and high ends of each interval change.
However, the number of intervals is always equal to the number of
Thus, if we know the number of frequencies we also know the
number of intervals.
In our problems it is always the case that the intervals are of
a uniform width, that is, if the first interval is
15 units wide then all of the intervals in that problem are
15 units wide.
Therefore, if we know the width of the first interval then we know
the width of all the intervals.
But all we need to find the width of the first interval is the
low and high value for that interval.
This means that for the problem shown in Figure 1 above, all of the
data for the problem is determined by knowing
From just that information we could construct the rest of Table 3 given in Figure 1.
that the first interval starts at 21
- that the first interval
ends at 40, and
- that the list of frequencies is
17, 35, 32, 21, 12, 16, 33
The function get_from_table() uses that kind of information to
produce a few values, and as a side benefit, to create a variable
that holds each of the interval midpoints the number of times
given by the interval frequency.
Figure 2 shows the command to put the
function into our environment (line 5) and then to run it
with the information given in Figure 1 (line 11). (This does assume that we are
running these commands from the subdirectory of the folder that holds all of
The result of running the ommands of Figure 2 are shown in
We see that
gives us the number of items given by the frequencies of Table 3
(in this case 166), the approximate mean of the values (86.35542)
derived as we had done previously from using the midpoints,
the standard deviation if this is a sample (39.06176), and the standard deviation
if this is a population (38.94393). In addition, although not shown in the output,
getfromtable() leaves the created list of midpoint values in a
from_table_x. We can see that the variable is
there by looking at the environment area, shown in Figure 4.
Figure 5 shows the result of looking
Thus we see that 30.5 is the midpoint of the first interval and that
from_table_x does hold
21 of those values. After those values,
holds 40 of the next midpoint, namely 49.5, and so on.
Because we have access to
we can use it in further computations, such as to find the median
of the values. This is shown in Figure 6.
It is worth checking all of these results against the
values that we worked out, step by step, back in the previous
Getting Measures from Grouped Data.
Return to Topics page
©Roger M. Palay
Saline, MI 48176 June, 2019