Week 8 Ego-centric Networks

In the past three weeks, we explored a wide range of concepts and measures for analysis of whole networks, sub-networks (or sub-graphs), and individual nodes. This week, we will dive into ego-centric networks as a very unique approach to SNA. Specifically, we will:

  • Understand what is an ego-centric network
  • Understand different levels of ego-centric networks
  • Understand how ego-centric network data can be collected
  • Develop initial ideas of applying ego-centric networks in educational settings

8.1 Introduction to Ego-Centric Networks

Egocentric analysis shifts the analytical lens onto a sole ego actor and concentrates on the local pattern of relations in which that ego is embedded as well as the types of resources to which those relations provide access. (Carolan, 2014, ch. 7)

The concept of ego-centric networks is pitched against socio-centric networks that we’ve been exploring so far in this class. Some researchers also refer to ego-centric networks as ego networks or personal networks. Ego-centric and sociocentric networks are distinct in several important ways:

  • Unbounded versus bounded networks. Sociocentric SNA attempts to collect data on ties between all members of a socially or geographically-bounded group and has limited inference beyond that group. Egocentric SNA assesses individuals’ personal networks across any number of social settings using name generators, and is therefore less limited in theoretical and substantive scope.
  • Focus on individual rather than group outcomes. Sociocentric SNA often focuses on network structures of groups as predictors of group-level outcomes (e.g. concentration of power, resource distribution, information diffusion). In contrast, egocentric SNA is concerned with how people’s patterns of interaction shape their individual-level outcomes (e.g. health, voting behavior, employment opportunities).
  • Flexibility in data collection. Because sociocentric SNA must use as its sampling frame a census of a particular bounded group, data collection is very time-consuming, expensive, and targeted to a specific set of research questions. In contrast, because egocentric SNA uses individuals as cases, potential sampling frames and data collection strategies are virtually limitless. Egocentric data collection tools can easily be incorporated into large-scale or nationally-representative surveys being fielded for a variety of other purposes.

Ego-centric networks are useful when the foci of the research are individuals in a network, if capturing the complete network is less important, and/or when the researcher plan to correlate attribute data of individuals with their relational characteristics in a network. Examples of ego-centric networks’ applications abound. As we explored in Week 3, ego-centric networks can be used to investigate stroke patients’ health behaviors. In education, for example, Dawson (2010) studies high and low-performing students based on their ego-networks.

Below, James Cook – a sociology professor we’ve been watching – nicely explains how studying ego-centric networks would be helpful.

After watching this video, consider this question: How ego-centric networks could be applied to your research projects? You do not necessarily need to focus on your class project but projects in your field in general.

8.2 Collecting Ego-Centric Network Data

As you’ll read in our textbook, there are basically two ways to construct ego-centric networks:

  1. Ego-centric networks by design: When a research project is initiated by asking ego-centric questions, ego-centric data are usually directed collecting. For example, when a name generator questionnaire is distributed to a sample of students in a large high school to study in-school friendship of students, each student’s response will be directly used to construct a network.
  2. Derived ego-centric networks: When a complete network can be captured, we can also derive ego-centric networks by filtering network data. For example, if we’re analyzing our own Slack discussions, we can also create an ego-centric network for each one of us to investigate our connectedness in the class.

In either of these conditions, an important decision to make is how you define the neighborhood of the ego-centric network, or how many steps does an ego can reach, as Cook explored in his video. This will again be informed by theories and contextual information you bring to bear.

Consider this question: What definition of the neighborhood will make sense for your research projects?

8.2.1 “Les Miserables” Example

Below I demonstrate the difference between one-step vs. two-step ego networks using the Les Miserables dataset12. Which type of ego networks would make more sense for analyzing characters in this novel?

First, explore one-step ego networks by choosing or clicking on a node:

Second, two-step ego networks:

8.3 Week 8 Activities

8.3.1 Read, Annotate, and Share

  1. Read Carolan (2014), ch. 7. Annotate as we normally do using proper hashtags and doing our ABCs.

  2. On Slack, share your thoughts on these two questions (listed below) that are raised in Sections 8.1 and 8.2. Discuss among each other by offering comments, expanding on each other’s ideas, identifying limitations, etc.

    • How ego-centric networks could be applied to your research projects?
    • What definition(s) of the neighborhood will make sense for your research projects?

8.3.2 Lab 3(c): Analyzing Ego-Centric Networks

In the textbook, the author explores a range of measures that we’ve introduced when studying complete networks, such as density and centrality. This is another chance to examine these concepts even though computing these measures is the same mathematically for complete or ego networks.

In this week, I encourage you to use a complete-network dataset you have in hand (e.g., your own data, demo data we used in earlier weeks, Twitter/NodeXL data I demoed) to:

  • Derive ego-centric networks based on a complete network
  • Conduct basic analysis of ego-centric networks

In igraph, there are several functions you can use to extract information about ego networks. Run ?ego to learn more.13 Please add the following lines to your Lab 3, and tinker with different parameters.

## Size of ego networks
ego_size(g, order = 0)
ego_size(g, order = 1)
ego_size(g, order = 2)
ego_size(g, order = 1, 1:3)

## Check the neighborhood of each ego
ego(g, order = 2)
ego(g, order = 2, 1:3)

## Extract ego networks
make_ego_graph(g, order = 1)

Note: If you haven’t done so yet, please check out the video I made in Week 7. You can add new code dealing with ego-centric networks in to your earlier code. (This is when you’re starting to love R if the past few weeks were a bit rough :).)

This will be the final lab assignment in this course. After you finish Lab 3, please compile a report by clicking on the button shown below and submit your full Lab 3 report to the labs channel. As always, the example codes above are quite barebone and you are encouraged to add more analysis by adding more analysis you are interested in exploring.

Note: To make it work, you will need to tell R exactly where your data file is located. The easiest way is to put the data file under the same folder as your .R file. The file.choose() function will not work when you compile a report.

Have a wonderful week!


Dawson, Shane. 2010. “‘Seeing’ the Learning Community: An Exploration of the Development of a Resource for Monitoring Online Student Networking.” British Journal of Educational Technology: Journal of the Council for Educational Technology 41 (5): 736–52. https://doi.org/10.1111/j.1467-8535.2009.00970.x.

  1. Code used to generate this example is adapted from visNetwork, an R package used to generate interactive network visualizations.↩︎

  2. The sna package provides a function named ego.extract for the same purpose.↩︎