I have a very large data set which I would like to summarise in as small a space as possible, preferably one side of A4.

The data are from a customer satisfaction survey and are Likert-type scales, 5 scales for each work area, with 190 work areas in total. I would also like to represent the response rate on the visualisation somehow, because response rates are very variable and I want management to look at these as well as the actual scores.

If necessary I don't mind somehow reducing the 5 scales down to one (using factor analysis or some such thing). One or two sides of A4 to go to the senior management team who are of course very busy with lots of other things and decidedly non-technical. Use of colour is no problem, in fact would probably be seen as a boon.

It's just occurred to me that representing the order of the work areas, rather than their absolute value, would be OK, but again I don't want to lose the response rate information.

Hope this question isn't too vague, any ideas gratefully received. I am using R and anticipate that this work will involve my learning ggplot2, which I have not as yet got around to.

  • 2
    $\begingroup$ The aim of visualization is not to show the data, but to show a claim that this data supports -- so first try to focus on what you want to show, to make this question answerable. Or, if you just want a pool of visualization ideas, make it a community wiki. $\endgroup$ – user88 Sep 5 '10 at 13:08
  • $\begingroup$ @mbq I don't think it is that ambiguous. He wants to compare means of the scales between different groups, as well as the response rates between different groups. Visualization can be exploratory (the fact that he is making a report to senior management doesn't mean to me that it can't be exploratory). $\endgroup$ – Andy W Sep 5 '10 at 13:45
  • $\begingroup$ @Andy so my suggestion for CW; even exploratory visualization is made to check something. $\endgroup$ – user88 Sep 5 '10 at 19:32

I find a heatmap to be one of the most effective ways of summarizing large amounts of multi-dimensional data in a confined space. The LearnR blog has a nice example of creating one in ggplot2.


To give you a few more things to look at:

  • Principal components - look at some previous answers about PC. In particular, this answer may be helpful.
  • Cluster analysis. This page gives quite a nice overall in R.

I would recommend trying as many things as possible and see what comes out. Once you have your data in R in a reasonable format, it shouldn't take too long to try these things.


I would suggest you check out either box-plots (if you have an intro text to R, box plots always seem to be one of the first plots they use), or you can plot the means of each group on the Y axis and use the X-axis to represent each of your 190 work areas (and then maybe put error bars representing a confidence interval for the estimate of the mean).

You can plot each of the likert scales next to each other, and use a different color to represent the means, and as long as you choose distinct colors and the same order for your likert scales across work areas people will be able to distinguish them.

But I personally would only plot the scales next to each other if they are expected to have some sort of relationship with each other (if scale A is high I might expect scale B to be low). If they are not you could panel the charts on top of each other (check out the lattice package in R, and here is what I think is a good example with sample R code), and so you only need to label one X-axis (this also allows you to use different Y-axis scales if the scales are not easily plotted on all the same Y-levels, although by your description this doesn't seem to be the case). You could also include response rate as one of the panels (maybe represented as a bar).

What is difficult with 190 different groups is you will have trouble distinguishing different work groups unless you highlight specific groups, but any chart with all of the groups will be excellent to examine overall trends (and maybe spot outliers). Also if your work groups have no logical ordering or higher order groupings the orientation on the axis will be arbitrary. You could order according to values on one of the scales (or according to response rate).

Also I am personally learning R at the moment, and I would highly suggest you check out the Use R! series by Springer. The book A Beginner's Guide to R is one of the best intro texts I have encountered, and they have books on ggplot2 and the lattice packages that would likely help you.

As an end if you post some examples of plots and code to make them some more of the R savy crowd on the forum will likely be able to give you suggestions. When you do finish come back and post your results! HTH and good luck.

  • $\begingroup$ The use of box-plots seems doubtful there. I just try to plot 190 bxp on the same page and this doesn't seem to carry out so much information as can be seen here: j.mp/925AY8. P.S. I didn't even use the R base graphics but relied on the grid package for the layout. @Shane's suggestion might be better. $\endgroup$ – chl Sep 6 '10 at 14:23
  • $\begingroup$ @chl Your right that is difficult to envision. The thinner you make the plots the more it just turns into a trend (like a time series). I don't think that would be a problem except that there is likely no logical ordering to the groups in this posters problem. $\endgroup$ – Andy W Sep 6 '10 at 14:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.