Creating Groups from Data. Cluster Analysis and Latent Class Analysis

Lecturer: Robin Samuel

Modality: In presence

Week 2: 19-23 August 2024


Workshop Contents and Objectives

In this course, you will learn how to create groups from data. For example, you might want to detect different types of web users based on a set of variables that contain information on aspects of online activities (e.g., content preferences, time spent online, etc.). Or you try to understand vaccination hesitancy by identifying groups of people with similar sets of concerns. In these kinds of scenarios, we often face datasets with many observations and large numbers of potentially relevant variables. It would be impossible to find groups of similar cases by just browsing the data or skimming tables.

Discovering groups in your data can be achieved by performing cluster analysis or latent class analysis. These techniques allow for a fruitful description of the phenomenon of interest and enable follow-up analyses, for example, on how group membership (e.g., type of web users) is associated with other variables (e.g., gender, SES, life satisfaction, personality).

Cluster analysis can be described as a bottom-up approach, where various algorithms are deployed to find similar cases (e.g., persons, organisations, schools, countries) in your data. Similar cases will be grouped to create a given number of maximally different clusters.

Latent class analysis, in contrast, can be seen to use a top-down approach where we assume a probabilistic model to explain group membership. Latent class analysis works with the actual distribution of your data using a statistical model. You can include covariates, and the procedure will provide goodness of fit measures, which can be used to compare different solutions.

This course contains an introduction to both cluster analysis and latent class analysis. We will spend three days on cluster analysis (hierarchical cluster analysis, non-hierarchical clustering, k-means, fuzzy clustering, all for continuous, categorical, and mixed variables) and two on latent class analysis (also covering latent profile analysis and longitudinal applications).

You will work on data provided by the course instructor. We encourage you strongly, however, to bring your data if possible.

Upon completion of this course, you will have a good understanding of cluster analysis and latent class analysis, and their differences, advantages, and disadvantages. You will know how to use these techniques with your data.


Workshop design

Fifty-fifty mix of interactive lectures and exercise sessions. Exercises can be done in groups. Daily feedback and possibilities for individual consulting.


Detailed lecture plan (daily schedule)

Day 1
Introduction to Cluster Analysis, Hierarchical Cluster Analysis

Day 2
Non-Hierarchical Clustering

Day 3
Fuzzy Clustering

Day 4
Introduction to Latent Class Analysis, Modelling Covariates

Day 5
Advanced Latent Class Analysis (Constrained, Multigroup, Longitudinal), Latent Profile Analysis 


Class materials

  • Slides
  • Exercise scripts, annotated solutions, additional illustrative scripts (all in R)
  • Set of exemplary papers
  • Selected readings by topic



Participants should be familiar with univariate and bivariate statistics. If you have never been exposed to bivariate correlation and chi-square (e.g., in the context of crosstabs, also known as contingency tables) this is probably not the course for you. Ideally, you will have some knowledge of OLS and logistic regression as well.

We will use the software R. R allows running cluster analyses and finite mixture models (e.g., latent class analysis and latent profile analysis). While familiarity with R would be useful, this is not strictly necessary if you have some knowledge of working with other statistical software packages using syntax (e.g., Stata or SPSS) and are willing to learn. You must be able to perform basic data management tasks in R or another software (e.g., recoding of variables, missing values, etc.).

Here are some helpful materials for those who are new to R or feel they would benefit from a refresher:


Recommended readings or preliminary materials

  • Bartholomew, D. J., Knott, M., & Moustaki, I. 2011. Latent Variable Models and Factor Analysis: A Unified Approach. John Wiley & Sons.
  • Bartholomew, D. J., Steele, F., Galbraith, J., and Moustaki, I. 2011. Analysis of Multivariate Social Science Data. CRC Press.
  • Giordani, P., Ferraro, M., and Martella, F. 2020. An Introduction to Clustering with R. Springer Nature.
  • Hagenaars, J., and Allan L. McCutcheon. 2003. Applied Latent Class Analysis Models. Cambridge University Press.
  • James, G., Witten, D., Hastie, T., & Tibshirani. 2021. An Introduction to Statistical Learning with Applications in R. New York: Springer Nature.
  • Kaufman, L., and Rousseeuw, P. J. 2009. Finding Groups in Data: An Introduction to Cluster Analysis. John Wiley & Sons.
  • McCutcheon, A. L. 1987. Latent Class Analysis. Sage Publications.
  • Visser, I., & Speekenbrink, M. 2022. Mixture and Hidden Markov Models with R. Springer Cham.