Social Network Analysis Workshop

A Practical Introduction from Theory to Code

Author

Dr Clemens Jarnach

Published

March 18, 2026

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: ggraphggplot2-based network visualisation built on top of tidygraph
  • Statistical network models: statnet — a suite of packages for the statistical modelling of network data, including ERGMs
  • Network interoperability: intergraph — converts network objects between igraph and statnet/network formats
  • 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"
))