Build an Edge List and Adjacency Matrix
Turn relational records into two equivalent network representations while preserving identifiers, direction, weights, loops, and missing-data meaning.
Method sources
By the end of this tutorial
- 1Create a validated node table and edge list from relational records.
- 2Convert the edge list into an adjacency matrix without changing tie meaning.
- 3Document duplicates, loops, weights, isolates, and missing dyads before analysis.
SNA
Network specification
Analysis scenario
A learning program exports one row for every peer-feedback event. The analysis needs a clean network in which all eligible participants remain visible, including people who sent or received no recorded feedback.
Nodes
All participants enrolled for the complete observation window, stored once in a node table with stable pseudonymous IDs.
Ties
A directed weighted tie from A to B counts qualifying feedback events sent by A to B during the window.
Network type
One-mode, directed, weighted event network with loops disallowed and isolates retained.
Step-by-step tutorial
Validate the node table
Create one row per eligible actor with a unique stable identifier. Check duplicates, blank identifiers, ineligible records, and actors appearing in the event file but not the node table. Keep isolates in the node table.
Checkpoint
Every source and target ID resolves to exactly one node, and the final boundary count is recorded.
Construct the edge list
Select events that meet the tie rule, then group identical source-target pairs when weights represent frequency. Decide whether repeated events are counts, separate temporal events, or a binary tie, and do not mix those meanings.
Checkpoint
Each row has source, target, weight, and observation window, with no unexpected loops or negative counts.
Create the matrix
Use one documented node order for rows and columns. Place the A-to-B weight in row A, column B, keep structural zeros distinct from missing dyads, and verify the diagonal rule. Save the ordering beside the matrix.
Checkpoint
For N nodes, the matrix is N by N with N squared cells, and the sum of matrix weights matches the edge-list total.
Run representation checks
Convert the matrix back to an edge list and compare it with the validated input. Record node count, unique dyad count, total weight, isolates, loops, reciprocity candidates, and missing-dyad count in a small manifest.
Checkpoint
A round trip preserves every intended nonzero tie and makes every exclusion or transformation auditable.
Interpret with care
An edge list is compact and convenient for recording observed ties, while an adjacency matrix makes all possible dyads explicit. They represent the same network only when they share the same node boundary, row and column order, direction, weight rule, loop rule, and missing-data convention.
A zero should mean an observed absence under the study design, not that the researcher lacks information. Isolates disappear if the network is built only from the edge list, so a separate node table is necessary whenever the bounded population includes people with no recorded ties.