Creating Groups from Data. Cluster Analysis and Latent Class Analysis
Lecturer: Robin Samuel and Hamid Bulut
Modality: In presence
Week 2: 17-21 August 2026
Workshop Contents and Objectives
In this course, you will learn how to identify groups in data by working through the full analytical life cycle, from data preparation and variable selection through model estimation, validation, interpretation, and presentation of results, using both your own data (if available) and replicating published studies, in a transparent and reproducible manner using R.
You might, for example, want to distinguish types of web users based on variables that capture aspects of online activity (such as content preferences or time spent online). Or you may wish to study vaccine hesitancy by identifying groups of people who share similar concerns. In such settings, we often work with large datasets and many potentially relevant variables, so it is not feasible to detect groups of similar cases by browsing raw data or scanning tables.
To discover groups in data, we will use cluster analysis and latent class analysis. These techniques allow you to describe the phenomenon of interest in a structured way and to examine how group membership (such as user type) relates to other variables (such as gender, socioeconomic status, life satisfaction, or personality).
Cluster analysis is an unsupervised machine learning approach that applies various algorithms to identify similar cases (for example persons, organisations, schools, or countries) in your data. It groups similar cases into a specified number of clusters that are as distinct from one another as possible.
Latent class analysis, in contrast, starts from a probabilistic model that explains group membership. It works with the observed distribution of your data using a statistical model to estimate latent classes. You can include covariates, and the procedure provides goodness-of-fit measures that you can use to compare alternative model solutions.
The course introduces both cluster analysis and latent class analysis. We will spend two and a half days on cluster analysis (including hierarchical clustering, non-hierarchical clustering, k-means, and fuzzy clustering for continuous, categorical, and mixed variables) and two and a half days on latent class analysis (including latent profile analysis and longitudinal applications). We will also consider recent developments and applications, building on neural network-based approaches and density-based clustering.
You will work with data provided by the instructors, and you are encouraged to bring your own data if possible.
By the end of the course, you will understand the logic, advantages, and limitations of cluster analysis and latent class analysis, and you will be able to apply these techniques in R to your own research data.
Workshop design
Fifty-fifty mix of interactive lectures and hands-on exercise sessions. Exercises can be done individually or 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 and Advanced Applications |
| Day 4 | Introduction to Latent Class Analysis, Modelling Covariates |
| Day 5 |
Advanced Latent Class Analysis (Constrained, Multigroup, Longitudinal), Latent Profile Analysis. Course feedback and Q&A. |
Class materials
- Slides
- Exercise scripts, annotated solutions, additional illustrative scripts (all in R)
- Set of exemplary papers
- Selected readings by topic
Prerequisites
Participants should be familiar with univariate and bivariate statistics, including bivariate correlation and chi-square (for example in the context of crosstabs, also known as contingency tables). If you have not previously encountered these topics, this course is probably not appropriate for you. Ideally, you will also have some knowledge of OLS and logistic regression.
The course uses the statistical software R. R can be used to run cluster analyses and finite mixture models, such as latent class analysis and latent profile analysis. To benefit fully from the course, you should already be familiar with R (for example importing data, running basic commands, and inspecting output). Participants without prior R experience can still follow if they have worked with other syntax-based statistical software (such as Stata or SPSS), are comfortable learning new software, and are prepared to invest additional time during and between sessions. In all cases, you must be able to perform basic data management tasks in R or another package, such as recoding variables and handling missing values.
Here are some helpful materials for those who are new to R or feel they would benefit from a refresher: https://stats.idre.ucla.edu/r/
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
Robin Samuel
University of Luxembourg
My research interests include youth, digitality, health and well-being, sustainability, and research methods. Most of my work involves collecting and statistically analyzing large-scale datasets. In some projects, I also use experimental designs and qualitative methods.
I am a Full Professor at the University of Luxembourg. Since 2020, I have served as Head of the Centre for Childhood and Youth Research and as Head of the Youth Studies Research Group. In 2025, I was appointed Director of the Doctoral Programme in Social Sciences within the Doctoral School of Humanities and Social Sciences.
Previously, I conducted research at the universities of Basel, Bern, Cambridge, Edinburgh, Johannesburg, Pretoria, and Stanford.
Hamid Bulut
University of Luxembourg, Luxembourg
Hamid Bulut is a sociologist and researcher with a focus on computational social science. He holds a PhD in Sociology from the University of Luxembourg, complemented by a background in Business Administration.
His substantive research interests include the sociology of youth, environmental sociology, and public health. Methodologically, he specializes in survey experiments, unsupervised learning, web data collection, and spatial analysis. He has previously developed and taught graduate seminars in Applied Bayesian Statistics and Interactive Data Visualization in R.