Social Network Analysis Workshop
A Practical Introduction from Theory to Code
Introduction
This workshop material accompanies a two-day Grand Union DTP workshop on Social Network Analysis, taught by Dr Clemens Jarnach at the University of Oxford.
Networks are everywhere. The neurons firing as you read this sentence, the friends who shaped your career, the servers routing your emails, the supply chains that stocked your breakfast — all are networks. So too are the invisible webs of trust and obligation inside organisations, the chains of transmission that carry a virus from one city to another, and the recommendation algorithms that decide what you watch next.
Social Network Analysis (SNA) is the systematic study of these relational structures. Its core insight is deceptively simple: to understand the social world, we must look not only at who people are, but at how they are connected. Individual attributes — education, income, attitudes — take us only so far. The structure of relationships around a person shapes their opportunities, constraints, and behaviour in ways that attribute-based analysis cannot capture.
What makes SNA especially powerful is that connections and their absence both carry meaning. A gap between two otherwise dense clusters of contacts can be more consequential than any single tie. Structural holes, weak ties, brokerage positions — these concepts, which we will explore in depth, have proven explanatory across an extraordinary range of phenomena.
The field draws on an unusually broad intellectual inheritance: graph theory from mathematics, statistical mechanics from physics, computational methods from computer science, and relational theories of action from sociology. This interdisciplinary heritage is part of what makes it such a rich area of inquiry — and part of what makes it challenging to learn. This workshop is designed to give you a solid footing across all of it.
Over two days, we will move from foundations to application. We will work through the core theory — graph-theoretic concepts, network measures, structural principles — and then put it into practice using R, analysing real network data, building visualisations, and fitting statistical models. The examples throughout are drawn from published research: how mapping HIV transmission saves lives, why some TikTok videos go viral and others vanish, and yes, which Mafia soldier is statistically most likely to be murdered next.
By the end of the workshop, you will have the conceptual vocabulary and technical grounding to design and conduct your own network research — and to see the world a little differently in the process.
Objectives
This workshop introduces the core concepts and methods of social network analysis, from foundational graph theory and personal networks to contemporary network science approaches and statistical modelling. Participants will learn how to design and conduct network-based research, focusing on the analysis of social networks, i.e., sets of actors connected by relationships. By the end of the course, participants will have the conceptual and technical grounding to develop their own network research project and to think critically about the world through the lens of networks.
By the end of this workshop, participants will:
- Understand the theoretical foundations and key concepts of social network analysis
- Understand principles of research design and data collection for network studies
- Be able to apply computational methods to analyse network data in R
- Develop skills in visualising, modelling, and testing hypotheses using network data
- Engage critically with research in network science and its applications
- Able to formulate and theorise research questions using SNA approaches
- Design and conduct their own network-based research project
Syllabus
Part A: Foundations - Getting started - What are networks, and why analyse them? - Network theory: mathematical and computational foundations - Social network theory
Part B: Practical Application - Creating your first network in R - Network measures and metrics - Visualising networks - Community detection - Modelling networks and testing hypotheses
Part C: Your Project - Developing a research question - Project presentations and group discussion
Schedule
| Day 1 | Foundations of Social Network Analysis |
|---|---|
| 10:00 - 11:00 | Getting started |
| What are networks? | |
| Why networks matter | |
| Coffee break | |
| 11:15 - 13:00 | Graph theory |
| Creating your first network in R | |
| Lunch break | |
| 14:00 - 16:00 | Lab exercises in R |
| Day 2 | Network Analysis in Practice |
|---|---|
| 10:00 - 11:00 | Network measures and metrics |
| Coffee break | |
| 11:15 - 13:00 | Community detection |
| Lunch break | |
| 14:00 - 15:30 | Network models and inference |
| 15:45 - 16:00 | Your project |
Why use R?
Conducting network analysis requires computational tools. Throughout this workshop we use R, which has become one of the richest environments for network analysis available. The core packages (e.g., igraph, tidygraph, ggraph, and statnet) support the full analytical pipeline: data construction and manipulation, descriptive analysis, visualisation, and statistical modelling. R’s broader ecosystem (the tidyverse, spatial packages, multilevel modelling tools) also makes it straightforward to integrate network methods with the other quantitative approaches you likely already use in your research.
All workshop code, data, and exercises use R. If you have not yet installed the required packages, please do so before the first session:
install.packages(c(
"tidyverse", "janitor", "readxl", "haven", "lubridate", "forcats",
"igraph", "tidygraph", "ggraph", "statnet", "intergraph",
"RColorBrewer", "viridis"
))Key R Packages
R has a rich ecosystem for network analysis, spanning graph-theoretic computation, tidy data workflows, visualisation, and statistical modelling. The core packages for this workshop are:
- Network data structures and algorithms: igraph — the workhorse for network construction, manipulation, and computation of network measures
- Tidy network analysis: tidygraph — a tidy API for graph manipulation, fully compatible with the tidyverse
- Network visualisation: ggraph —
ggplot2-based network visualisation built on top oftidygraph - Statistical network models: statnet — a suite of packages for the statistical modelling of network data, including ERGMs
- Network interoperability: intergraph — converts network objects between
igraphandstatnet/networkformats - Colour palettes: RColorBrewer and viridis — perceptually uniform and accessible colour scales for network visualisation
- General data wrangling: tidyverse — for preparing and manipulating node and edge data prior to analysis
All packages can be installed in one go:
install.packages(c(
"tidyverse", "janitor", "readxl", "haven", "lubridate", "forcats",
"igraph", "tidygraph", "ggraph", "statnet", "intergraph",
"RColorBrewer", "viridis"
))Recommended Reading
Core Textbooks
Introductory and applied
Borgatti, Stephen P., Martin G. Everett, Jeffrey C. Johnson, and Filip Agneessens. (2022) Analyzing Social Networks Using R. London: SAGE Publications. — The updated, R-focused companion to the 2013 original; covers research design through ERGMs. Recommended as the primary reference for this workshop.
Luke, Douglas A. (2015). A User’s Guide to Network Analysis in R. Cham: Springer. doi:10.1007/978-3-319-23883-8. — Accessible and practically oriented; good for getting up and running in R quickly.
Borgatti, Stephen P., Martin G. Everett, and Jeffrey C. Johnson. (2013). Analyzing Social Networks. Los Angeles: SAGE. — The conceptual foundation for the 2022 volume; strong on theory and research design.
Wasserman, Stanley, and Katherine Faust. (1997). Social Network Analysis: Methods and Applications. Cambridge: Cambridge University Press. — The canonical reference. Dense but authoritative on formal methods and notation.
McLevey, John, John Scott, and Peter J. Carrington (eds.). (2024). The Sage Handbook of Social Network Analysis. Second edition. London ; Sage. — Comprehensive state-of-the-art overview across theory, methods, and applications; includes new chapters on computational social science, multilevel networks, and digital data.
Statistical modelling
Avrachenkov, Konstantin, and Maximilien Dreveton. (2022). Statistical Analysis of Networks. Now Publishers. — Rigorous treatment of inferential approaches to network data; useful for the statistical modelling sessions.
Lusher, Dean, Johan Koskinen, and Garry Robins. (2013). Exponential Random Graph Models for Social Networks : Theories, Methods, and Applications. Cambridge: Cambridge University Press.
Rawlings, Craig M., Jeffrey A. Smith, James W. Moody, and Daniel McFarland. (2023) Network Analysis : Integrating Social Network Theory, Method, and Application with R. Cambridge: Cambridge University Press. https://inarwhal.github.io/NetworkAnalysisR-book/.
Visualisation
- Khokhar, Devangana. (2015). Gephi Cookbook. Birmingham: Packt Publishing. — Hands-on guide to network visualisation with Gephi; useful supplement for those who prefer a GUI workflow alongside R.
Online Tutorials and Resources
Ognyanova, Katya. Static and Dynamic Network Visualization with R. kateto.net/network-visualization — Comprehensive and regularly updated tutorial covering
igraph,statnet, and interactive visualisation. Highly recommended.Ognyanova, Katya. Network Analysis with R and igraph (NetSci X Tutorial). kateto.net/networks-r-igraph — A concise, hands-on introduction to
igraph; good pre-workshop reading.Rawlings, Craig, Jeffrey A. Smith, James Moody, and Daniel A. McFarland. Network Analysis: Integrating Social Network Theory, Method, and Application with R. inarwhal.github.io/NetworkAnalysisR-book — A full open-access textbook integrating theory and R application.
INSNA — International Network for Social Network Analysis. insna.org — International association for network researchers; resources, conference information, and links to the journal Social Networks.
Stanford Network Analysis Project (SNAP). snap.stanford.edu — Large repository of network datasets and computational tools; useful for finding empirical data for your own projects.