The primary goal in this case study is to examine the use of different algorithms to analyze a network’s groups and individual actors. Using an open educational dataset prepared by Kellogg and Edelman Kellogg and Edelmann (2015), we’ll explore both “top-down” and “bottom-up” approaches to identifying groups within our network, as well as node-level measures of centrality to identify key actors. Specifically, the Unit 3 case study will cover the following topics:
Prepare: Prior to analysis, we’ll take a look at the context from which our data came, formulate simple research questions to guide our analysis, and load some by now familiar R packages for network analysis.
Wrangle: Wrangling data entails the work of manipulating, cleaning, transforming, and merging data. In section 2 we focus on importing network data, and converting edge and node lists into a network object that can be analyzed and graphed.
Explore: In section 3, we look at components and cliques within our network, and learn how to add add summarize important node-level measures of centrality.
Model: While we won’t dig into approaches for modeling network data until Unit 4, we will take a quick look at some approaches used in the research article guiding this study.
Communicate: Finally, you’ll prepare a simple “data product” consisting of a data visualization and/or table that highlights some key findings from our analysis.
In Social Network Analysis and Education: Theory, Methods & Applications, Carolan (2013) notes that:
the social network perspective is one concerned with the structure of relations and the implication this structure has on individual or group behavior and attitudes
More specifically, Carolan cites the following four features used by Freeman (2004) to define the social network perspective:
Social network analysis is motivated by a relational intuition based on ties connecting social actors.
It is firmly grounded in systematic empirical data.
It makes use of graphic imagery to represent actors and their relations with one another.
It relies on mathematical and/or computational models to succinctly represent the complexity of social life.
For Unit 3, our case study is guided by previous research and evaluation work conducted by the Friday Institute for Educational Innovation as part of the Massively Open Online Courses for Educators (MOOC-Ed) initiative. The study introduced next and our hands-on analysis with R will help to illustrate these four defining features of the social network perspective.
In the spring of 2013, The Friday Institute launched the MOOC-Ed Initiative to explore the potential of delivering personalized, high-quality professional development to educators at scale (Kleiman et al., 2013). In collaboration with the Alliance for Excellent Education, the Friday Institute launched this initiative with a 6-week pilot course called Planning for the Digital Learning Transition in K-12 Schools (DLT 1), which was offered again in September 2013 (DLT 2). This course was designed to help school and district leaders plan and implement K-12 digital learning initiatives.
Academics, as well as pundits from traditional and new media, have raised a number of concerns about MOOCs, including the lack of instructional and social supports. Among the core design principles of MOOC-Eds are collaboration and peer-supported learning. It is an assumption of this study that challenges arising form this problem of scale can be addressed by leveraging these massive numbers to develop robust online learning communities.
This mixed-methods case study used both SNA and qualitative methods to better understand peer support in MOOC-Eds through an examination of the characteristics, mechanisms, and outcomes of peer networks. Findings from this study demonstrate that even with technology as basic as a discussion forum, MOOCs can be leveraged to foster these networks and facilitate peer-supported learning. Although this study was limited to two unique cases along the wide spectrum of MOOCs, the methods applied provide other researchers with an approach for better understanding the dynamic process of peer supported learning in MOOCs.
MOOC-Ed registration form. All participants completed a registration form for each MOOC-Ed course. The registration form consists of self-reported demographic data, including information related to their professional role and work setting, years of experience in education, and personal learning goals.
MOOC-Ed discussion forums. All peer interaction, including peer discussion, feedback, and reactions (e.g., likes), take place within the forum area of MOOC-Eds, which are powered by Vanilla Forums. Because of the specific focus on peer supported learning, postings to or from course facilitators and staff were removed from the data set. Finally, analyses described below exclude more passive forms of interactions (i.e., read and reaction logs), and include only postings among peers.
For our Unit 3 case study, we’ll take a look at data from the original Digital Learning Transition in K-12 Schools (DLT 1) that was not included in this study. For your independent analysis next week, you may want to consider working with the DLT 2 data to see if you can replicate some of the findings from this paper!
Note: In the data we’re using, instructors have not yet been removed and only direct replies to forum posts have been included, though “weaker” ties like reactions with emoticons and even views of posts were captured in this study.
Take a quick look at the Description of the Dataset section from the Massively Open Online Course for Educators (MOOC-Ed) network dataset BJET article and the accompanying data sets stored on Harvard Dataverse that we’ll be using for this case study.
In the space below, type a brief response to the following questions:
What were some of the steps necessary to construct the edges in this dataset?
What “node attributes” are included in this dataset? How might they be used for analysis?
What else do you notice/wonder about this dataset?
A Social Network Perspective on Peer Supported Learning was framed by three primary research questions related to peer supported learning:
What are the patterns of peer interaction and the structure of peer networks that emerge over the course of a MOOC-Ed?
To what extent do participant and network attributes (e.g., homophily, reciprocity, transitivity) account for the structure of these networks?
To what extent do these networks result in the co-construction of new knowledge?
For Unit 3, our exploratory analysis is guided by RQ1 from the original study with an additional emphasis on examining groups and key actors that emerge in the discussion forums for the first and second implementation of the Digital Learning Transition MOOC-Eds. Specifically, for our case we’re interested in the following questions examining groups and key actors:
Based on what you know about networks and the context so far, what other research question(s) might ask we ask in this context that a social network perspective might be able to answer?
As highlighted in Chapter 6 of Data Science in Education Using R (DSIEUR):
Packages are shareable collections of R code that can contain functions, data, and/or documentation. Packages increase the functionality of R by providing access to additional functions to suit a variety of needs.
You should see installed some familiar tidytext packages from our Getting Started Walkthrough like {dplyr} and {readr} which we’ll be using again shortly. You should also see an important package call {igraph} that we will rely on heavily for our network analyses in this course.
If you are working in RStudio Desktop, or notice that the packages have not been installed and/or loaded, run the following install.packages() function code to install the {tidyverse} and {igraph} packages:
install.packages("tidyverse")
install.packages("igraph")
Use the library() function and the code chunk below and load the following packages:
library(tidyverse)
## -- Attaching packages --------------------------------------- tidyverse 1.3.1 --
## v ggplot2 3.3.5 v purrr 0.3.4
## v tibble 3.1.6 v dplyr 1.0.7
## v tidyr 1.1.4 v stringr 1.4.0
## v readr 2.1.1 v forcats 0.5.1
## -- Conflicts ------------------------------------------ tidyverse_conflicts() --
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(skimr)
library(igraph)
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:dplyr':
##
## as_data_frame, groups, union
## The following objects are masked from 'package:purrr':
##
## compose, simplify
## The following object is masked from 'package:tidyr':
##
## crossing
## The following object is masked from 'package:tibble':
##
## as_data_frame
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
library(tidygraph)
##
## Attaching package: 'tidygraph'
## The following object is masked from 'package:igraph':
##
## groups
## The following object is masked from 'package:stats':
##
## filter
library(ggraph)
library(janitor)
##
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
library(RColorBrewer)
RStudio Tip: You can always check to see which packages have already been installed and loaded into RStudio Cloud by looking at the the Files, Plots, & Packages Pane in the lower right hand corner of RStudio as shown in the following screenshot:
In general, data wrangling involves some combination of cleaning, reshaping, transforming, and merging data (Wickham and Grolemund 2016). The importance of data wrangling is difficult to overstate, as it involves the initial steps of going from the raw data to a dataset that can be explored and modeled (Krumm, Means, and Bienkowski 2018).
For our data wrangling this week, we’re keeping it simple since working with network data is a bit of a departure from our working with rectangular data frames. Our primary goals for Section 2 are learning how to:
Import Lists. An obvious and also important first step, we need to “read” our data into R and learn about formatting for edge-lists and node attribute files.
Create a Graph Object. Before performing network analyses, we’ll need to convert our data frames into a graph object for working with relational data.
To get started, we need to import, or “read,” our data into R. The function used to import your data will depend on the file format of the data you are trying to import, but R is pretty adept at working with many files types.
Take a look in the /data folder in your Files pane. You should see the following .csv files:
dlt1-edges.csv
dlt1-nodes.csv
The first file dlt1-edges.csv is an edge-list that contains information about each tie, or relation between two actors in a network. In this context, a “tie” is a reply by one participant in the discussion forum to the post of another participant – or in some cases to their own post! These ties between a single actor are called “self-loops” and as we’ll see later, {tidygraph} has a special function to remove these self loops from a sociogram, or network visualization.
The edge-list format is slightly different than other formats you have likely worked with before in that the values in the first two columns each row represent a dyad, or tie between two nodes in a network. An edge-list can also contain other information regarding the strength, duration, or frequency of the relationship, sometime called “weight,” in addition to other “edge attributes.”
In addition to our Sender and Reciever dyad pairs, our DLT 1 dataset contains the following edge attributes:
Sender = Unique identifier of author of comment
Receiver = Unique identifier of identified recipient of comment
Timestamp = Time post or reply was posted
Parent = Primary category or topic of thread
Category = Subcategory or subtopic of thread
Thread_id = Unique identifier of a thread
Comment_id = Unique identifier of a comment\
Let’s use the read_csv() function from the {readr} and {janitor} packages introduced in previous units to read in our edge-list and clean up the variables names:
dlt1_ties <- read_csv("data/dlt1-edges.csv",
col_types = cols(Sender = col_character(),
Receiver = col_character(),
`Category Text` = col_skip(),
`Comment ID` = col_character(),
`Discussion ID` = col_character())) |>
clean_names()
dlt1_ties
## # A tibble: 2,529 x 9
## sender receiver timestamp discussion_title discussion_cate~ parent_category
## <chr> <chr> <chr> <chr> <chr> <chr>
## 1 360 444 4/4/13 16~ Most important c~ Group N Units 1-3 Disc~
## 2 356 444 4/4/13 18~ Most important c~ Group D-L Units 1-3 Disc~
## 3 356 444 4/4/13 18~ DLT Resources—Co~ Group D-L Units 1-3 Disc~
## 4 344 444 4/4/13 18~ Most important c~ Group O-T Units 1-3 Disc~
## 5 392 444 4/4/13 19~ Most important c~ Group U-Z Units 1-3 Disc~
## 6 219 444 4/4/13 19~ Most important c~ Group M Units 1-3 Disc~
## 7 318 444 4/4/13 19~ Most important c~ Group M Units 1-3 Disc~
## 8 4 444 4/4/13 19~ Most important c~ Group N Units 1-3 Disc~
## 9 355 356 4/4/13 20~ DLT Resources—Co~ Group D-L Units 1-3 Disc~
## 10 355 444 4/4/13 20~ Most important c~ Group D-L Units 1-3 Disc~
## # ... with 2,519 more rows, and 3 more variables: discussion_identifier <chr>,
## # comment_id <chr>, discussion_id <chr>
Note the addition of the col_types = argument for changing the column types to character strings since the numbers for those particular columns indicate actors (Sender and Reciever) and attributes (Comment_ID and Discussion_Id). We also skipped the Category Text since this was left blank for deidentification purposes.
Consider the example pictured below of a discussion thread from the Planning for the Digital Learning Transition in K-12 Schools (DLT 1) where our data orginated. This thread was initiated by participant I, so the comments by J and N are considered to be directed at I. The comment of B, however, is a direct response to the comment by N as signaled by the use of the quote-feature as well as the explicit mentioning of N’s name within B’s comment.
Now answer the following questions as they relate to the DLT 1 edge-list we just read into R.
Which actors in this thread are the Sender and the Reciever? Which actor is both?
How many dyads are in this thread? Which pairs of actors are dyads?
Sidebar: Unfortunately, these types of nuances in discussion forum data as illustrated by this simple example are rarely captured through automated approaches to constructing networks. Fortunately, the dataset you are working with was carefully reviewed to try and capture more accurately the intended recipients of each reply.
The second file we’ll be using contains all the nodes or actors (i.e., participants who posted to the discussion forum) as well as some of their attributes such as gender and years of experience in education.
Carolan (2013) notes that most social network analyses include variables that describe attributes of actors, ones that are either categorical (e.g., sex, race, etc.) or continuous in nature (e.g., test scores, number of times absent, etc.). These attributes that can be incorporated into a network graph or model, making it more informative and can aid in testing or generating hypotheses.
These attribute variables are typically included in a rectangular array, or dataframe, that mimics the actor-by-attribute that is the dominant convention in social science, i.e. rows represent cases, columns represent variables, and cells consist of values on those variables.
As an aside, Carolan also refers to this historical preference by researchers for “actor-by-attribute” data, in the absence of relational data in which the actor has been removed their social context, as the “sociological meatgrinder” in action. Specifically, this historical approach assumes that the actor does not interact with anyone else in the study and that outcomes are solely dependent of the characteristics of the individual.
Use the code chunk below to import the dlt1-nodes.csv attribute file and be sure to set the following variables as character data types: UID, Facilitator, expert, connect.
dlt1_actors <- read_csv("data/dlt1-nodes.csv",
col_types = cols(UID = col_character(),
Facilitator = col_character(),
`expert` = col_character(),
`connect` = col_character())) |>
clean_names()
dlt1_actors
## # A tibble: 445 x 13
## uid facilitator role1 experience experience2 grades location region country
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 1 0 libm~ 1 6 to 10 secon~ VA South US
## 2 2 0 clas~ 1 6 to 10 secon~ FL South US
## 3 3 0 dist~ 2 11 to 20 gener~ PA North~ US
## 4 4 0 clas~ 2 11 to 20 middle NC South US
## 5 5 0 othe~ 3 20+ gener~ AL South US
## 6 6 0 clas~ 1 4 to 5 gener~ AL South US
## 7 7 0 inst~ 2 11 to 20 gener~ SD Midwe~ US
## 8 8 0 spec~ 1 6 to 10 secon~ BE Inter~ BE
## 9 9 0 clas~ 1 6 to 10 middle NC South US
## 10 10 0 scho~ 2 11 to 20 middle NC South US
## # ... with 435 more rows, and 4 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>
Now use the code chunk below to inspect the data you imported and complete the matching exercise that follows:
dlt1_actors
## # A tibble: 445 x 13
## uid facilitator role1 experience experience2 grades location region country
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 1 0 libm~ 1 6 to 10 secon~ VA South US
## 2 2 0 clas~ 1 6 to 10 secon~ FL South US
## 3 3 0 dist~ 2 11 to 20 gener~ PA North~ US
## 4 4 0 clas~ 2 11 to 20 middle NC South US
## 5 5 0 othe~ 3 20+ gener~ AL South US
## 6 6 0 clas~ 1 4 to 5 gener~ AL South US
## 7 7 0 inst~ 2 11 to 20 gener~ SD Midwe~ US
## 8 8 0 spec~ 1 6 to 10 secon~ BE Inter~ BE
## 9 9 0 clas~ 1 6 to 10 middle NC South US
## 10 10 0 scho~ 2 11 to 20 middle NC South US
## # ... with 435 more rows, and 4 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>
Match up the attributes included in the node file with the following codebook descriptors. The first one has been done as an example.
Facilitator = Identification of course facilitator (1 = instructor)UID = Dummy variable for whether participants listed networking and collaboration with others as one of their course goals on the registration formexpert = Identifier of “expert panelists” invited to course to share experience through recorded Q&AFacilitator = Identification of course facilitator (1 = instructor)role1 = Professional role (eg, teacher, librarian, administrator)experience2 = Years of experience as an educatorgrades = Works with elementary, middle, and/or high school studentsgeoup = Initial assignment of discussion groupRStudio Tip: Importing data and dealing with data types can be a bit tricky, especially for beginners. Fortunately, RStudio has an “Import Dataset” feature in the Environment Pane that can help you use the {readr} package and associated functions to greatly facilitate this process.
As demonstrated in our previous case study, we first need to convert the data frames that we imported into an network object before we can begin using many of the functions from our network packages for summarizing and visualizing our DLT 1 network.
To do that, we will use the tbl_graph() function from the {tidygraph} package. Note that I included the eval=FALSE argument in the code block below to prevent this code from running when we knit our final document. Otherwise it will produce an error since we can’t include help documentation in our knitted HTML file.
Run the following code to take a look at the help documentation for this function:
?tbl_graph
You probably saw that this particular function takes the following three arguments, two of which are data frames:
edges = A data.frame containing information about the edges in the graph. The terminal nodes of each edge must either be encoded in a to and from column, or be in the two first columns.
nodes = a node list that starts with a column of node IDs. Any following columns are interpreted as node attributes.
node_key = The name of the column in nodes that character represented to and from columns should be matched against.
directed = determines whether or not to create a directed graph.
Run the following code to specify our ties data frame as the edges of our network, our actors data frame for the vertices of our network and their attributes, and indicate that this is indeed a directed network.
dlt1_network <- tbl_graph(edges = dlt1_ties,
nodes = dlt1_actors,
node_key = "uid",
directed = TRUE)
# create dlt2
dlt2_ties <- read_csv("data/dlt2-edges.csv",
col_types = cols(Sender = col_character(),
Reciever = col_character(),
`Category` = col_skip(),
`CommentID` = col_character(),
`DiscussionID` = col_character())) |>
clean_names()
dlt2_actors <- read_csv("data/dlt2-nodes.csv",
col_types = cols(uid = col_character(),
facilitator = col_character(),
`expert` = col_character(),
`connect` = col_character())) |>
clean_names()
dlt2_network <- tbl_graph(edges = dlt2_ties,
nodes = dlt2_actors,
node_key = "uid",
directed = TRUE)
Take a look at the output for our dlt1_network and answer the questions that follow:
dlt1_network
## # A tbl_graph: 445 nodes and 2529 edges
## #
## # A directed multigraph with 4 components
## #
## # Node Data: 445 x 13 (active)
## uid facilitator role1 experience experience2 grades location region country
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 1 0 libm~ 1 6 to 10 secon~ VA South US
## 2 2 0 clas~ 1 6 to 10 secon~ FL South US
## 3 3 0 dist~ 2 11 to 20 gener~ PA North~ US
## 4 4 0 clas~ 2 11 to 20 middle NC South US
## 5 5 0 othe~ 3 20+ gener~ AL South US
## 6 6 0 clas~ 1 4 to 5 gener~ AL South US
## # ... with 439 more rows, and 4 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>
## #
## # Edge Data: 2,529 x 9
## from to timestamp discussion_title discussion_cate~ parent_category
## <int> <int> <chr> <chr> <chr> <chr>
## 1 360 444 4/4/13 1~ Most important ~ Group N Units 1-3 Disc~
## 2 356 444 4/4/13 1~ Most important ~ Group D-L Units 1-3 Disc~
## 3 356 444 4/4/13 1~ DLT Resources—C~ Group D-L Units 1-3 Disc~
## # ... with 2,526 more rows, and 3 more variables: discussion_identifier <chr>,
## # comment_id <chr>, discussion_id <chr>
dlt2_network
## # A tbl_graph: 492 nodes and 2584 edges
## #
## # A directed multigraph with 69 components
## #
## # Node Data: 492 x 13 (active)
## uid facilitator role experience2 experience grades location region country
## <chr> <chr> <chr> <dbl> <dbl> <chr> <chr> <chr> <chr>
## 1 1 0 curr~ 2 17 gener~ IN Midwe~ US
## 2 2 0 other 1 3 prima~ NC South US
## 3 3 0 inst~ 2 20 gener~ US South US
## 4 4 0 inst~ 2 12 middle TX South US
## 5 5 0 other 1 0 gener~ CAN Inter~ CA
## 6 6 0 inst~ 1 7 gener~ CAN Inter~ CA
## # ... with 486 more rows, and 4 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>
## #
## # Edge Data: 2,584 x 8
## from to timestamp title parent description comment_id discussion_id
## <int> <int> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 37 461 9/27/13 Greeti~ Group ~ Please introdu~ 3 1
## 2 434 434 9/27/13 Sherry~ Group ~ Please introdu~ 4 2
## 3 302 434 9/27/13 Sherry~ Group ~ Please introdu~ 5 3
## # ... with 2,581 more rows
How does the number of node and edges in our DLT 1 network compare to the totals reported for the DLT 2, the second iteration of this MOOC-Ed, reported on in our guiding study?
Do the number of nodes and edges are in our network match the number of observations in our node and edge list .csv files? Hint: Check the Environment pane.
Our output notes that our network is a directed multigraph, indicating that some dyads may have multiple edges. Why might that be?
As noted in the previous units, exploratory data analysis involves the processes of describing your network through mathematical measures and/or data visualization. In Section 3, we learn some new functions for identifying groups and subgroups and creating node-level measures to identify central actors in our network. Specifically, in this section we’ll focus on: a. Group Analysis. We take a look at both a top-down and bottom-up approach to identifying groups within a network by examining the weak and strong components in our network as well as existing cliques.
As noted in Social Network Analysis and Education (Carolan 2014), one of the most basic ways in which network researchers first characterize a network’s substructure is to identify its components.
A component is a connected subgraph in which there is a path between all pairs of nodes.
Recall from our output above that our “multigraph” had 4 components. Let’s take a quick look at our network and see if we can spot the 4 components:
autograph(dlt1_network)
As you can see, three of our components are isolates in our network, meaning they have no connections, or forum replies to or from, anyone else in the network. That is, they posted to a discussion forum and never received a reply, or replied to the posts of others.
Directed graphs, such as the DLT 1 network, have two different kinds of components: weak and strong. A weak component, like ours above, ignores the direction of a tie; strong components do not. Rather,
Strong components consist of nodes that are connected to one another via both directions along the path that connects them.
This concept of a component is simple and very useful, especially when analyzing a large network with many components. Often, researchers extract each component and analyze it as a separate network. We won’t be doing that here, but it would be very reasonable to remove the isolates from our network prior to further analysis.
The {igraph} package has a simple function for identifying the number of components in a network, the size of each component, and which actors belong to each. Let’s first take a quick look at the summaries for “weak” components in our network:
components(dlt1_network, mode = c("weak"))
## $membership
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [38] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [75] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [112] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [149] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [186] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [223] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [260] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [297] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [334] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [371] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [408] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 3 4 1
## [445] 1
##
## $csize
## [1] 442 1 1 1
##
## $no
## [1] 4
While not incredibly intuitive to interpret, the output indicates that there are 4 components as we discovered above, 1 component has 442 members and three (our isolates) have only 1 member.
One issue with this output that the {tidygraph} package is great at solving is identifying and saving as a new variable who belongs to which component. We can sort of see from above that the first 400+ actors in our network belong to component 1, while the three isolates towards the end belong to components 2, 3, and 4 respectively; and the last two nodes in our network also belong to component 1.
How do you think you might find the “strong” components in our network using the component() function? Use the following code chunk to test out your theory:
components(dlt1_network, mode = c("strong"))
## $membership
## [1] 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 193
## [19] 194 194 203 194 209 194 194 194 194 192 194 194 191 194 194 194 194 194
## [37] 194 194 194 190 194 194 194 194 194 194 189 194 194 194 194 194 194 194
## [55] 188 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194 194
## [73] 187 194 194 194 194 194 186 194 194 194 194 208 194 185 194 194 184 194
## [91] 194 194 183 194 181 180 178 194 194 194 194 177 194 194 194 194 194 176
## [109] 194 194 175 194 194 194 194 194 194 194 194 174 194 194 169 168 167 166
## [127] 165 194 194 164 194 194 194 163 162 194 194 194 161 159 194 194 158 194
## [145] 173 182 157 156 155 172 171 194 206 194 194 194 194 194 194 154 194 194
## [163] 194 153 194 152 194 151 150 194 149 194 194 148 202 194 194 194 147 146
## [181] 194 201 194 194 194 145 195 194 198 194 194 194 194 194 194 144 194 194
## [199] 194 194 194 143 194 142 194 194 194 194 194 141 194 194 140 139 138 194
## [217] 194 194 194 137 194 194 194 136 135 194 194 134 133 131 130 129 128 204
## [235] 194 127 126 125 160 124 123 122 194 121 119 194 194 194 194 194 194 194
## [253] 194 194 118 194 194 179 117 115 116 194 120 114 194 194 113 194 112 194
## [271] 194 194 199 111 194 194 194 110 194 109 194 108 106 107 194 200 194 105
## [289] 104 103 102 194 194 101 194 100 99 98 97 194 194 194 194 96 194 197
## [307] 194 207 95 194 94 93 92 91 90 89 194 194 194 88 194 194 194 205
## [325] 194 87 86 85 194 170 194 84 83 196 194 194 194 194 194 194 194 194
## [343] 194 132 194 194 194 82 81 194 194 80 79 78 194 194 77 194 76 75
## [361] 194 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58
## [379] 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40
## [397] 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 194 23
## [415] 22 21 20 19 18 17 16 194 15 14 13 12 11 10 9 8 7 194
## [433] 194 194 6 5 194 194 194 4 3 2 1 194 194
##
## $csize
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [19] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [37] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [55] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [73] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [91] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [109] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [127] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [145] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [163] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [181] 1 1 1 1 1 1 1 1 1 1 1 1 1 237 1 1 1 1
## [199] 1 1 1 1 1 1 1 1 1 1 1
##
## $no
## [1] 209
Wow! If your code was correct, you’ll see that we have a whopping 209 distinct components!
As demonstrated in the previous case study, the {tidygraph} package has a very useful activate() function for working with our nodes and edges as if they were standard “tibbles,” or tidy data tables.
Let’s use the activate() function to single out the node list in our network and use the familiar mutate() and group_components() functions to create a new strong_component variable that indicates and saves the strong components to which each node belongs:
dlt1_network <- dlt1_network |>
activate(nodes) |>
mutate(strong_component = group_components(type = "strong"))
Let’s take a look at the nodes in our new dlt1_network, which should now contain our new variable. To do so, we’ll use another handy function from the {tidygraph} package, as_tibble(), that will temporarily convert our node list to a standard table that will allow us to view every row in our node list:
as_tibble(dlt1_network)
## # A tibble: 445 x 14
## uid facilitator role1 experience experience2 grades location region country
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 1 0 libm~ 1 6 to 10 secon~ VA South US
## 2 2 0 clas~ 1 6 to 10 secon~ FL South US
## 3 3 0 dist~ 2 11 to 20 gener~ PA North~ US
## 4 4 0 clas~ 2 11 to 20 middle NC South US
## 5 5 0 othe~ 3 20+ gener~ AL South US
## 6 6 0 clas~ 1 4 to 5 gener~ AL South US
## 7 7 0 inst~ 2 11 to 20 gener~ SD Midwe~ US
## 8 8 0 spec~ 1 6 to 10 secon~ BE Inter~ BE
## 9 9 0 clas~ 1 6 to 10 middle NC South US
## 10 10 0 scho~ 2 11 to 20 middle NC South US
## # ... with 435 more rows, and 5 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>
We could even extend this if we liked to create some standard table summaries using the summarise() function. Run the code below to create a count of the number of nodes in each strong component:
dlt1_network |>
as_tibble() |>
group_by(strong_component) |>
summarise(count = n()) |>
arrange(desc(count))
## # A tibble: 209 x 2
## strong_component count
## <int> <int>
## 1 1 237
## 2 2 1
## 3 3 1
## 4 4 1
## 5 5 1
## 6 6 1
## 7 7 1
## 8 8 1
## 9 9 1
## 10 10 1
## # ... with 199 more rows
Similar to our graph of weak components, we see this network has a strong component with many members (n=237), and the remaining components are all isolated nodes.
If we wanted to illustrate this with a sociogram, we could create a new edge variable using the same activate() and mutate() functions and filter() our edges so our graph only contains reciprocated ties, like so:
dlt1_network |>
activate(edges) |>
mutate( reciprocated = edge_is_mutual()) |>
filter(reciprocated == TRUE) |>
autograph()
Or we could filter out all isolates in our strong component network entirely using the same activate() and filter() functions:
dlt1_network |>
activate(nodes) |>
filter(strong_component == 1) |>
autograph()
Obviously, this graph would need some polishing before sharing with others, but you get the point. The activate() function from the {tidygraph} package is a powerful tool that let’s you leverage the entire suite of {tidyverse} packages to analyze nodes and edges in a network! We’ll be using the activate function again in section 3b. Egocentric Analysis: Size & Centrality to calculate node-level measures.
Whereas top-down approaches to group analysis focus on the complete network and considers parts of it that distinct from the rest of the network, the bottom-up approach focuses is built up from simple dyads and triads that extend into dense clusters that give the network its “clumpiness.” Similar to complete network measures, there are several important properties for which precise definitions and algorithms have been developed, including cliques, clans, plexes, and cores (Carolan 2014).
Examining cliques is one bottom-up approach that reveals how groups are distributed in the network and which actors belong to which groups.
A clique is a maximally connected subgraph of nodes (> 2) in which all nodes are connected to each other.
Similar to our component analysis, the {igraph} function has a simple clique_num() function for identifying number of completely connected subgroups in a network:
clique_num(dlt1_network)
## Warning in clique_num(dlt1_network): At cliques.c:1125 :directionality of edges
## is ignored for directed graphs
## [1] 8
As you probably saw above, the clique_num() function does not take into account directionality of our ties. It looks like we have 8 dense clusters of nodes that all have ties to one another.
The {igraph} function also has a simple cliques() function for identifying members who belong to the same group. In addition to specifying the network you want to examine, this function also allows you to set the minimum and maximum number of members to included in a clique.
Let’s see if there are any cliques that contain a minimum of 8 nodes?
cliques(dlt1_network, min = 8, max = NULL)
## Warning in cliques(dlt1_network, min = 8, max = NULL): At
## igraph_cliquer.c:57 :Edge directions are ignored for clique calculations
## [[1]]
## + 8/445 vertices, from 4749393:
## [1] 11 19 24 30 44 60 444 445
Unfortunately, the {tidygraph} package does not have a clustering function for cliques. It does, however, include a range popular clustering functions provided that use range of functions that group nodes and edges based on “community structure.” Some of these community detection algorithms are designed for directed graphs (e.g. our strong component analysis above), while others are for undirected graphs.
One function similar to our clique analysis above is the group_edge_betweenness() function, which group densely connected nodes together. The betweenness centrality measures is something we will look at more closely in the next section.
Because this function can only be used with undirected networks, we will need to pipe |> our dlt_network through the following functions in sequence:
morph() with the to_undirected argument will temporarily change our directed network to an undirected network, or “symmetrize” our network as discussed in Carolan Carolan (2014);activate() will select just our nodes list;mutate() will created a new subgroup variable using the group_edgebetweenness() function;unmorph() will change our undirected network back to a directed network.Run the following code to group our nodes based on their edge betweenness and print our updated dlt1_network object and take a quick look. Because this is a bit computationally intensive, it make take a minute or so to run.
dlt1_network <- dlt1_network |>
morph(to_undirected) |>
activate(nodes) |>
mutate(sub_group = group_edge_betweenness()) |>
unmorph()
dlt1_network |>
as_tibble()
## # A tibble: 445 x 15
## uid facilitator role1 experience experience2 grades location region country
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 1 0 libm~ 1 6 to 10 secon~ VA South US
## 2 2 0 clas~ 1 6 to 10 secon~ FL South US
## 3 3 0 dist~ 2 11 to 20 gener~ PA North~ US
## 4 4 0 clas~ 2 11 to 20 middle NC South US
## 5 5 0 othe~ 3 20+ gener~ AL South US
## 6 6 0 clas~ 1 4 to 5 gener~ AL South US
## 7 7 0 inst~ 2 11 to 20 gener~ SD Midwe~ US
## 8 8 0 spec~ 1 6 to 10 secon~ BE Inter~ BE
## 9 9 0 clas~ 1 6 to 10 middle NC South US
## 10 10 0 scho~ 2 11 to 20 middle NC South US
## # ... with 435 more rows, and 6 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>, sub_group <int>
As you scroll through the nodes tibble produced, you should now see at the far end a new subgroup variable that includes an ID number indicating to which densely connected cluster each node belongs.
Finally, let get a count of Run the following code to group our nodes and print our new cccss_network_groups object and take a quick look:
dlt1_network |>
activate(nodes) |>
as_tibble() |>
group_by(sub_group) |>
summarise(count = n()) |>
arrange(desc(count))
## # A tibble: 326 x 2
## sub_group count
## <int> <int>
## 1 1 72
## 2 2 6
## 3 3 5
## 4 4 4
## 5 5 3
## 6 6 3
## 7 7 3
## 8 8 3
## 9 9 2
## 10 10 2
## # ... with 316 more rows
This out is very telling and suggestive that our network may have a typical core-periphery structure: a group of well-connected actors at the center of the network with a set of actors residing on the periphery whose only connections are typically to those actors affiliated with this core group. At the core of our network might reside these actors in subgroup 1, with the remaining actors residing on the periphery.
Note, that if we had wanted to permanently convert our network to an undirected network, we could use the to_undirected argument as a stand-alone function.
dlt1_undirected <- to_undirected(dlt1_network)
dlt1_undirected
## # A tbl_graph: 445 nodes and 2529 edges
## #
## # An undirected multigraph with 4 components
## #
## # Node Data: 445 x 15 (active)
## uid facilitator role1 experience experience2 grades location region country
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 1 0 libm~ 1 6 to 10 secon~ VA South US
## 2 2 0 clas~ 1 6 to 10 secon~ FL South US
## 3 3 0 dist~ 2 11 to 20 gener~ PA North~ US
## 4 4 0 clas~ 2 11 to 20 middle NC South US
## 5 5 0 othe~ 3 20+ gener~ AL South US
## 6 6 0 clas~ 1 4 to 5 gener~ AL South US
## # ... with 439 more rows, and 6 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>, sub_group <int>
## #
## # Edge Data: 2,529 x 9
## from to timestamp discussion_title discussion_cate~ parent_category
## <int> <int> <chr> <chr> <chr> <chr>
## 1 360 444 4/4/13 1~ Most important ~ Group N Units 1-3 Disc~
## 2 356 444 4/4/13 1~ Most important ~ Group D-L Units 1-3 Disc~
## 3 356 444 4/4/13 1~ DLT Resources—C~ Group D-L Units 1-3 Disc~
## # ... with 2,526 more rows, and 3 more variables: discussion_identifier <chr>,
## # comment_id <chr>, discussion_id <chr>
The {tidygraph} package has a wide range of functions to generate alternate representations of graphs. They can be used as stand alone functions to permanently alter your network, or as an argument with the morph() function to temporarily change your network depending on the analyses you need to perform.
We’ve only scratched the surface of the range of top-down and bottom-up group analysis functions available in the {igraph} and {tidygraph} packages. In the code chunk below, try out one of the other grouping functions available in the tidygraph or igraph packages to examine groups withing the dlt1_network:
dlt1_network2 <- dlt1_network |>
morph(to_subgraph, seq_len(graph_order()) %% 2 == 0) |>
mutate(neighbour_count = centrality_degree())|>
unmorph()
## Subsetting by nodes
lay <- layout_with_kk(dlt1_network2)
plot(dlt1_network2, layout = lay,
vertex.label = NA)
In this section, we shift out analytical lens from groups to egos and the pattern of relations in which each individual is embedded. Implicit in egocentric analysis, and also very intuitive to understand, is that:
An individual’s (ego) connections with others (alters) provides access to some instrumental (e.g., advice) or expressive (e.g., support) resource that may, in turn, be beneficial.
As summarized by Carolan Carolan (2014), the structure and content of these relations between an ego and a set of alters is the focus of egocentric network analysis. Since our research question aims to identify “key actors” in our network, we will look at two characteristics of an ego’s connections that are indicative their importance: size and centrality.
Recall from our previous case study focused on complete network analysis, one simple and often ignored structural property of a social network is its size. This also applies to egocentric analysis.
Size is simply the number of alters that are directly connected to ego.
This characteristic is also sometimes referred to as an ego’s local neighborhood, and as Carolan points out, size matters, because it indicates the amount of potential resources available in one’s network. For example, a student with a small friendship network may be at a disadvantage when it comes seeking support on schoolwork or advice on course or college enrollment.
We can use the same {tidygraph} process that we used for identifying groups and individual membership to calculate the size for each node. Specifically, we will need to activate() the nodes in our network and create a new variable which we’ll call size that is calculated using the local_size() function.
And since it’s much easier to inspect our data as a tibble than using the graph output, we’ll also convert our node to a table and arrange() in descending order by size to make it easier to see the range in values of our network:
dlt1_network <- dlt1_network |>
activate(nodes) |>
mutate(size = local_size())
dlt1_network |>
as_tibble() |>
arrange(desc(size)) |>
select(uid, facilitator, size)
## # A tibble: 445 x 3
## uid facilitator size
## <chr> <chr> <dbl>
## 1 444 1 295
## 2 445 1 160
## 3 44 0 61
## 4 11 0 51
## 5 7 0 42
## 6 30 0 42
## 7 19 0 39
## 8 60 0 39
## 9 36 0 37
## 10 432 0 36
## # ... with 435 more rows
Not surprisingly, the egos with the most alters are the course facilitators who played a very active role in this course and therefore have an outsize influence on the structure of this network.
Note: In the code immediately above or earlier in this case study, it’s important to take note when we have permanently altered our dlt1_network object and when we have only made temporary changes to our network. For example, when creating a new variable for local neighborhood size, we assigned the changes made to dlt1_network to an object of the same name using the <- assignment operator. This effectively overwrites the old object with the new object because was wanted to save the new variable created. However, when converting network to a tibble consisting of nodes and their facilitor and size attributes, we did not assign to dlt1_network because we did not want to permanently change to our network object to a tibble.
As we learned in our previous case study and readings, a key structural property of networks is the concept of centralization. A network that is highly centralized is one in which relations are focused on a small number of actors or even a single actor in a network, whereas ties in a decentralized network are diffuse and spread over a number of actors. As we saw above, the facilitators in our network play an outsize role in the MOOC-Ed discussions!
Degree
One of the most common descriptives reported in network studies and a primary measure of centralization is degree.
Degree is the number of ties to and from an ego. In a directed network, in-degree is the number of ties received, whereas out-degree is the number of ties sent.
The {tidygraph} package has an aptly named function centrality_degree() for calculating degree, in-degree, and out-degree for all actors in a network.
Run the following create two new variables for our nodes: in_dgree and out_degree. We’ll set the mode = argument in centrality_degree() function to "in" and "out" respectively.
dlt1_network <- dlt1_network |>
activate(nodes) |>
mutate(in_degree = centrality_degree(mode = "in"),
out_degree = centrality_degree(mode = "out"))
dlt1_network |>
as_tibble()
## # A tibble: 445 x 18
## uid facilitator role1 experience experience2 grades location region country
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 1 0 libm~ 1 6 to 10 secon~ VA South US
## 2 2 0 clas~ 1 6 to 10 secon~ FL South US
## 3 3 0 dist~ 2 11 to 20 gener~ PA North~ US
## 4 4 0 clas~ 2 11 to 20 middle NC South US
## 5 5 0 othe~ 3 20+ gener~ AL South US
## 6 6 0 clas~ 1 4 to 5 gener~ AL South US
## 7 7 0 inst~ 2 11 to 20 gener~ SD Midwe~ US
## 8 8 0 spec~ 1 6 to 10 secon~ BE Inter~ BE
## 9 9 0 clas~ 1 6 to 10 middle NC South US
## 10 10 0 scho~ 2 11 to 20 middle NC South US
## # ... with 435 more rows, and 9 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>, sub_group <int>,
## # size <dbl>, in_degree <dbl>, out_degree <dbl>
A Quick Note about Multigraphs and Tie Strength
You may have noticed in this network that indegree exceeds the total number of nodes in our network and are wondering how that is possible. Recall that our network is currently treated at a “multigraph,” indicating that some dyads have multiple edges. Therefore, some edges between dyads are counted more than once.
Alternatively, we could “simplify” our network by collapsing multiple edges between the same actors and assigning a value to edges between actors indicating tie strength. In this case it would be a measure of frequency of replies between actors. However, in the process of simplifying our network, we would lose important contextual information about the context of each tie, such as the when (timestamp) and where (forum) each tie was created.
Let’s dust off our ggplot() skills and take a look at the distribution of out_degree, or the number of replies to other posts, by using in geom_histogram() function for creating histograms.
dlt1_network |>
as_tibble() |>
ggplot() +
geom_histogram(aes(x = out_degree))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
We can see that most egos in the network sent very few replies to alters in the course, while a handful of actors in this network have sent 30 or more replies.
Compositional and Variance Measures
Carolan Carolan (2014) notes that there are two types of measures that can emerge from egocentric data: compositional and variance. Compositional measures are those created by counting or taking the average of egocentric network variables. Variance measures, on the other hand, are simply those that are derived by calculating the variance or standard deviation of the egocentric network variables.
While we could calculate invdividually the mean and variance for each egocentric measure created above using the summarise() function demonstrated earlier, R has a package and function to save us the effort.
To quickly calculate summary statistics for our nodes, including compositional and variance measures for our egocentric measures, we can use the skim() function from the {skimr} package to take a quick look at the variables in our node list:
dlt1_network |>
as_tibble() |>
skim()
| Name | as_tibble(dlt1_network) |
| Number of rows | 445 |
| Number of columns | 18 |
| _______________________ | |
| Column type frequency: | |
| character | 12 |
| numeric | 6 |
| ________________________ | |
| Group variables | None |
Variable type: character
| skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
|---|---|---|---|---|---|---|---|
| uid | 0 | 1 | 1 | 3 | 0 | 445 | 0 |
| facilitator | 0 | 1 | 1 | 1 | 0 | 2 | 0 |
| role1 | 0 | 1 | 4 | 18 | 0 | 13 | 0 |
| experience2 | 0 | 1 | 3 | 8 | 0 | 6 | 0 |
| grades | 0 | 1 | 4 | 10 | 0 | 8 | 0 |
| location | 0 | 1 | 2 | 4 | 0 | 62 | 0 |
| region | 0 | 1 | 4 | 13 | 0 | 6 | 0 |
| country | 0 | 1 | 2 | 4 | 0 | 21 | 0 |
| group | 0 | 1 | 1 | 4 | 0 | 7 | 0 |
| gender | 0 | 1 | 4 | 6 | 0 | 3 | 0 |
| expert | 0 | 1 | 1 | 4 | 0 | 3 | 0 |
| connect | 0 | 1 | 1 | 4 | 0 | 3 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| experience | 0 | 1 | 2.13 | 0.80 | 1 | 1 | 2 | 3 | 3 | ▆▁▇▁▇ |
| strong_component | 0 | 1 | 49.84 | 66.43 | 1 | 1 | 1 | 98 | 209 | ▇▁▁▁▁ |
| sub_group | 0 | 1 | 121.55 | 106.59 | 1 | 15 | 104 | 215 | 326 | ▇▃▃▃▃ |
| size | 0 | 1 | 8.75 | 17.51 | 1 | 3 | 4 | 10 | 295 | ▇▁▁▁▁ |
| in_degree | 0 | 1 | 5.68 | 26.74 | 0 | 0 | 1 | 5 | 475 | ▇▁▁▁▁ |
| out_degree | 0 | 1 | 5.68 | 9.84 | 0 | 1 | 2 | 6 | 106 | ▇▁▁▁▁ |
We can see, for example, that egos in our network are connected with on average 8.75 alters with a standards deviation of 17.5. Notice also that our mean for in-degree and out-degree are identical. This will always be the case since for every tie that goes “in” there is always one going “out.”
Finally, the {skimr} package like our {tidgraph} package plays nicely with other {tidyverse} packages for data wrangling and analysis. For example, let’s select only MOOC-Ed participants who are located in the United States and calculate compositional and variance measures for size by educator’s role:
dlt1_network |>
as_tibble() |>
filter(country == "US") |>
group_by(role1) |>
select(size) |>
skim()
## Adding missing grouping variables: `role1`
| Name | select(…) |
| Number of rows | 412 |
| Number of columns | 2 |
| _______________________ | |
| Column type frequency: | |
| numeric | 1 |
| ________________________ | |
| Group variables | role1 |
Variable type: numeric
| skim_variable | role1 | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|---|
| size | classteaching | 0 | 1 | 8.97 | 8.22 | 2 | 3.00 | 6.0 | 12.00 | 39 | ▇▂▁▁▁ |
| size | curriculum | 0 | 1 | 7.70 | 7.22 | 2 | 2.50 | 5.0 | 8.50 | 24 | ▇▁▁▁▂ |
| size | districtadmin | 0 | 1 | 5.50 | 4.74 | 1 | 2.00 | 3.5 | 7.00 | 22 | ▇▂▁▁▁ |
| size | instructionaltech | 0 | 1 | 7.46 | 9.38 | 1 | 2.00 | 4.0 | 7.75 | 61 | ▇▁▁▁▁ |
| size | libmedia | 0 | 1 | 9.91 | 9.91 | 1 | 2.00 | 6.0 | 15.00 | 33 | ▇▂▁▁▁ |
| size | Operations | 0 | 1 | 3.00 | NA | 3 | 3.00 | 3.0 | 3.00 | 3 | ▁▁▇▁▁ |
| size | other | 0 | 1 | 8.25 | 8.10 | 2 | 2.00 | 6.0 | 12.25 | 19 | ▇▁▃▁▃ |
| size | otheredprof | 0 | 1 | 18.95 | 53.48 | 2 | 3.00 | 4.0 | 9.00 | 295 | ▇▁▁▁▁ |
| size | profdev | 0 | 1 | 5.71 | 4.44 | 2 | 2.00 | 4.0 | 7.50 | 21 | ▇▂▂▁▁ |
| size | schooladmin | 0 | 1 | 9.40 | 9.10 | 2 | 3.25 | 5.5 | 13.50 | 42 | ▇▂▁▁▁ |
| size | specialed | 0 | 1 | 12.00 | 6.63 | 2 | 11.00 | 11.0 | 17.00 | 19 | ▃▁▇▁▇ |
| size | techinfrastructure | 0 | 1 | 5.44 | 3.22 | 2 | 3.00 | 4.5 | 7.00 | 14 | ▇▂▃▁▁ |
As illustrated by the output above, we can see that “otheredprof” (i.e., other educational professionals including our facilitators) were connected with the most individuals on average (18.9), while educators in “Operations” connected with the fewest individuals on average (3).
Closeness & Betweenness
Two other centrality measures for identifying key actors in a network are closeness and betweenness. Whereas degree centrality is a local measure and can be calculated without needing information about the overall pattern of relations among ego and alters, closeness and betweenness address this shortcoming by taking into account indirect ties among all the alters in an ego’s network.
Closeness centrality captures the average distance an actor is from all other actors in the network and is a function of an actor’s geodesic distance to others, which equals the length of shortest path connecting a pair of actors. It’s an intuitively appealing measure in that being “close” to others may provide an advantage by giving you early access to new information or by indicating how quickly an actor can exchange something with others (Knoke & Yang, 2008).
Betweenness centrality measures the degree to which other actors lie on the shortest geodesic path between pairs of actors in the network. Betweenness may be indicative of how actors control or mediate the relations between pairs of actors that are not directly connected. Therefore, this measure is an important indicator of control over information exchange or resource flows within a network (Knoke & Yang, 2008). The more any given actor is located on the path between numerous dyads, the higher that actor’s potential to control network interactions. This concept and its associated measure is very appealing, as it captures the degree to which an actor occupies a strategically important position.
Use the code chunk below to add a closeness and betweenness variable to the nodes in our network and answer the questions that follow. Hint: you may want to look at the functions to calculate node and edge centrality on the {tidygraph} package website.
set.seed(123)
dlt1_stats <- dlt1_undirected %>%
activate(nodes)%>%
mutate(community = as.factor(group_louvain())) %>%
mutate(degree_c = centrality_degree()) %>%
mutate(betweenness_c = centrality_betweenness(directed = FALSE ,normalized = TRUE)) %>%
mutate(closeness_c = centrality_closeness(normalized = TRUE))
## Warning in closeness(graph = graph, vids = V(graph), mode = mode, weights =
## weights, : At centrality.c:2874 :closeness centrality is not well-defined for
## disconnected graphs
dlt1_stats
## # A tbl_graph: 445 nodes and 2529 edges
## #
## # An undirected multigraph with 4 components
## #
## # Node Data: 445 x 19 (active)
## uid facilitator role1 experience experience2 grades location region country
## <chr> <chr> <chr> <dbl> <chr> <chr> <chr> <chr> <chr>
## 1 1 0 libm~ 1 6 to 10 secon~ VA South US
## 2 2 0 clas~ 1 6 to 10 secon~ FL South US
## 3 3 0 dist~ 2 11 to 20 gener~ PA North~ US
## 4 4 0 clas~ 2 11 to 20 middle NC South US
## 5 5 0 othe~ 3 20+ gener~ AL South US
## 6 6 0 clas~ 1 4 to 5 gener~ AL South US
## # ... with 439 more rows, and 10 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>, sub_group <int>,
## # community <fct>, degree_c <dbl>, betweenness_c <dbl>, closeness_c <dbl>
## #
## # Edge Data: 2,529 x 9
## from to timestamp discussion_title discussion_cate~ parent_category
## <int> <int> <chr> <chr> <chr> <chr>
## 1 360 444 4/4/13 1~ Most important ~ Group N Units 1-3 Disc~
## 2 356 444 4/4/13 1~ Most important ~ Group D-L Units 1-3 Disc~
## 3 356 444 4/4/13 1~ DLT Resources—C~ Group D-L Units 1-3 Disc~
## # ... with 2,526 more rows, and 3 more variables: discussion_identifier <chr>,
## # comment_id <chr>, discussion_id <chr>
dltl_stats_ego <- as.data.frame(dlt1_stats)
dltl_stats_ego
## uid facilitator role1 experience experience2 grades
## 1 1 0 libmedia 1 6 to 10 secondary
## 2 2 0 classteaching 1 6 to 10 secondary
## 3 3 0 districtadmin 2 11 to 20 generalist
## 4 4 0 classteaching 2 11 to 20 middle
## 5 5 0 otheredprof 3 20+ generalist
## 6 6 0 classteaching 1 4 to 5 generalist
## 7 7 0 instructionaltech 2 11 to 20 generalist
## 8 8 0 specialed 1 6 to 10 secondary
## 9 9 0 classteaching 1 6 to 10 middle
## 10 10 0 schooladmin 2 11 to 20 middle
## 11 11 0 other 3 20+ generalist
## 12 12 0 classteaching 3 20+ secondary
## 13 13 0 classteaching 2 11 to 20 middle
## 14 14 0 other 1 0 to 3 middle
## 15 15 0 schooladmin 3 20+ secondary
## 16 16 0 otheredprof 1 0 to 3 middle
## 17 17 0 libmedia 1 0 to 3 primary
## 18 18 0 specialed 1 4 to 5 middle
## 19 19 0 otheredprof 3 20+ college
## 20 20 0 districtadmin 1 0 to 3 generalist
## 21 21 0 otheredprof 1 0 to 3 generalist
## 22 22 0 schooladmin 1 6 to 10 secondary
## 23 23 0 libmedia 3 20+ middle
## 24 24 0 instructionaltech 2 11 to 20 generalist
## 25 25 0 instructionaltech 2 11 to 20 generalist
## 26 26 0 otheredprof 3 20+ primary
## 27 27 0 otheredprof 1 0 to 3 generalist
## 28 28 0 profdev 3 20+ middle
## 29 29 0 schooladmin 2 11 to 20 generalist
## 30 30 0 schooladmin 3 20+ secondary
## 31 31 0 classteaching 1 4 to 5 generalist
## 32 32 0 profdev 1 6 to 10 primary
## 33 33 0 instructionaltech 3 20+ generalist
## 34 34 0 curriculum 3 20+ primary
## 35 35 0 curriculum 2 11 to 20 college
## 36 36 0 classteaching 2 11 to 20 secondary
## 37 37 0 curriculum 2 11 to 20 secondary
## 38 38 0 classteaching 1 6 to 10 secondary
## 39 39 0 classteaching 2 11 to 20 secondary
## 40 40 0 districtadmin 3 20+ generalist
## 41 41 0 instructionaltech 1 6 to 10 generalist
## 42 42 0 curriculum 3 20+ generalist
## 43 43 0 profdev 3 20+ secondary
## 44 44 0 instructionaltech 2 11 to 20 middle
## 45 45 0 districtadmin 2 11 to 20 generalist
## 46 46 0 classteaching 2 11 to 20 primary
## 47 47 0 profdev 3 20+ generalist
## 48 48 0 schooladmin 3 20+ middle
## 49 49 0 libmedia 3 20+ generalist
## 50 50 0 schooladmin 3 20+ primary
## 51 51 0 schooladmin 3 20+ primary
## 52 52 0 schooladmin 3 20+ primary
## 53 53 0 instructionaltech 3 20+ primary
## 54 54 0 otheredprof 2 11 to 20 primary
## 55 55 0 instructionaltech 1 4 to 5 generalist
## 56 56 0 districtadmin 3 20+ generalist
## 57 57 0 curriculum 3 20+ generalist
## 58 58 0 instructionaltech 2 11 to 20 generalist
## 59 59 0 libmedia 1 0 to 3 primary
## 60 60 0 classteaching 2 11 to 20 middle
## 61 61 0 schooladmin 3 20+ primary
## 62 62 0 classteaching 1 0 to 3 generalist
## 63 63 0 specialed 1 6 to 10 secondary
## 64 64 0 instructionaltech 2 11 to 20 generalist
## 65 65 0 libmedia 2 11 to 20 secondary
## 66 66 0 instructionaltech 2 11 to 20 secondary
## 67 67 0 libmedia 3 20+ primary
## 68 68 0 libmedia 3 20+ generalist
## 69 69 0 profdev 3 20+ generalist
## 70 70 0 schooladmin 1 6 to 10 middle
## 71 71 0 districtadmin 3 20+ generalist
## 72 72 0 instructionaltech 2 11 to 20 primary
## 73 73 0 districtadmin 3 20+ primary
## 74 74 0 schooladmin 3 20+ generalist
## 75 75 0 classteaching 3 20+ secondary
## 76 76 0 curriculum 3 20+ generalist
## 77 77 0 profdev 2 11 to 20 generalist
## 78 78 0 schooladmin 3 20+ secondary
## 79 79 0 profdev 1 4 to 5 generalist
## 80 80 0 classteaching 2 11 to 20 middle
## 81 81 0 classteaching 3 20+ primary
## 82 82 0 classteaching 1 6 to 10 middle
## 83 83 0 classteaching 3 20+ primary
## 84 84 0 curriculum 1 6 to 10 generalist
## 85 85 0 classteaching 1 6 to 10 generalist
## 86 86 0 schooladmin 3 20+ middle
## 87 87 0 libmedia 2 11 to 20 generalist
## 88 88 0 classteaching 1 0 to 3 secondary
## 89 89 0 profdev 3 20+ generalist
## 90 90 0 otheredprof 3 20+ generalist
## 91 91 0 instructionaltech 2 11 to 20 secondary
## 92 92 0 curriculum 3 20+ primary
## 93 93 0 classteaching 1 6 to 10 secondary
## 94 94 0 classteaching 1 6 to 10 middle
## 95 95 0 instructionaltech 1 6 to 10 secondary
## 96 96 0 instructionaltech 2 11 to 20 secondary
## 97 97 0 libmedia 1 6 to 10 primary
## 98 98 0 classteaching 2 11 to 20 primary
## 99 99 0 instructionaltech 3 20+ generalist
## 100 100 0 instructionaltech 2 11 to 20 generalist
## 101 101 0 instructionaltech 1 4 to 5 primary
## 102 102 0 classteaching 3 20+ generalist
## 103 103 0 classteaching 2 11 to 20 middle
## 104 104 0 classteaching 3 20+ middle
## 105 105 0 techinfrastructure 2 11 to 20 primary
## 106 106 0 districtadmin 3 20+ generalist
## 107 107 0 instructionaltech 2 11 to 20 generalist
## 108 108 0 classteaching 1 4 to 5 secondary
## 109 109 0 instructionaltech 3 20+ primary
## 110 110 0 instructionaltech 1 4 to 5 middle
## 111 111 0 districtadmin 2 11 to 20 generalist
## 112 112 0 districtadmin 2 11 to 20 generalist
## 113 113 0 schooladmin 2 11 to 20 secondary
## 114 114 0 profdev 2 11 to 20 secondary
## 115 115 0 schooladmin 2 11 to 20 middle
## 116 116 0 classteaching 3 20+ college
## 117 117 0 curriculum 1 6 to 10 generalist
## 118 118 0 classteaching 1 6 to 10 college
## 119 119 0 libmedia 2 11 to 20 middle
## 120 120 0 instructionaltech 3 20+ generalist
## 121 121 0 instructionaltech 2 11 to 20 generalist
## 122 122 0 otheredprof 3 20+ generalist
## 123 123 0 curriculum 2 11 to 20 generalist
## 124 124 0 instructionaltech 2 11 to 20 generalist
## 125 125 0 instructionaltech 3 20+ generalist
## 126 126 0 techinfrastructure 2 11 to 20 generalist
## 127 127 0 techinfrastructure 2 11 to 20 generalist
## 128 128 0 curriculum 1 6 to 10 college
## 129 129 0 instructionaltech 2 11 to 20 primary
## 130 130 0 otheredprof 3 20+ generalist
## 131 131 0 profdev 2 11 to 20 generalist
## 132 132 0 instructionaltech 1 6 to 10 generalist
## 133 133 0 techinfrastructure 3 20+ secondary
## 134 134 0 classteaching 1 6 to 10 secondary
## 135 135 0 otheredprof 1 0 to 3 generalist
## 136 136 0 districtadmin 3 20+ generalist
## 137 137 0 districtadmin 3 20+ generalist
## 138 138 0 profdev 2 11 to 20 generalist
## 139 139 0 instructionaltech 2 11 to 20 generalist
## 140 140 0 otheredprof 3 20+ generalist
## 141 141 0 instructionaltech 3 20+ secondary
## 142 142 0 profdev 2 11 to 20 generalist
## 143 143 0 instructionaltech 2 11 to 20 generalist
## 144 144 0 districtadmin 2 11 to 20 generalist
## 145 145 0 classteaching 1 6 to 10 middle
## 146 146 0 otheredprof 1 6 to 10 secondary
## 147 147 0 classteaching 2 11 to 20 secondary
## 148 148 0 districtadmin 2 20+ generalist
## 149 149 0 instructionaltech 1 6 to 10 generalist
## 150 150 0 profdev 1 6 to 10 generalist
## 151 151 0 techinfrastructure 2 11 to 20 generalist
## 152 152 0 otheredprof 2 11 to 20 generalist
## 153 153 0 schooladmin 1 6 to 10 secondary
## 154 154 0 instructionaltech 3 20+ secondary
## 155 155 0 instructionaltech 3 20+ generalist
## 156 156 0 otheredprof 3 20+ primary
## 157 157 0 classteaching 1 4 to 5 middle
## 158 158 0 libmedia 3 20+ middle
## 159 159 0 instructionaltech 2 11 to 20 secondary
## 160 160 0 curriculum 3 20+ generalist
## 161 161 0 instructionaltech 3 20+ primary
## 162 162 0 schooladmin 3 20+ generalist
## 163 163 0 other 1 0 to 3 generalist
## 164 164 0 schooladmin 2 11 to 20 secondary
## 165 165 0 profdev 3 20+ generalist
## 166 166 0 techinfrastructure 1 0 to 3 generalist
## 167 167 0 instructionaltech 3 20+ generalist
## 168 168 0 instructionaltech 3 20+ generalist
## 169 169 0 instructionaltech 3 20+ generalist
## 170 170 0 techinfrastructure 1 6 to 10 generalist
## 171 171 0 classteaching 2 11 to 20 generalist
## 172 172 0 otheredprof 2 11 to 20 college
## 173 173 0 schooladmin 2 11 to 20 secondary
## 174 174 0 schooladmin 2 11 to 20 secondary
## 175 175 0 curriculum 3 20+ generalist
## 176 176 0 techinfrastructure 2 11 to 20 generalist
## 177 177 0 districtadmin 2 11 to 20 generalist
## 178 178 0 districtadmin 2 11 to 20 secondary
## 179 179 0 instructionaltech 2 11 to 20 generalist
## 180 180 0 otheredprof 3 20+ college
## 181 181 0 techinfrastructure 1 6 to 10 generalist
## 182 182 0 otheredprof 1 6 to 10 generalist
## 183 183 0 districtadmin 2 11 to 20 generalist
## 184 184 0 classteaching 1 6 to 10 secondary
## 185 185 0 classteaching 2 11 to 20 secondary
## 186 186 0 techinfrastructure 1 4 to 5 secondary
## 187 187 0 techinfrastructure 2 11 to 20 generalist
## 188 188 0 classteaching 3 20+ secondary
## 189 189 0 schooladmin 3 20+ middle
## 190 190 0 libmedia 1 4 to 5 middle
## 191 191 0 classteaching 3 20+ middle
## 192 192 0 classteaching 3 20+ middle
## 193 193 0 instructionaltech 2 11 to 20 generalist
## 194 194 0 instructionaltech 3 20+ generalist
## 195 195 0 districtadmin 3 20+ generalist
## 196 196 0 otheredprof 1 0 to 3 secondary
## 197 197 0 districtadmin 3 20+ generalist
## 198 198 0 libmedia 2 11 to 20 primary
## 199 199 0 schooladmin 3 20+ middle
## 200 200 0 schooladmin 2 11 to 20 middle
## 201 201 0 classteaching 1 6 to 10 middle
## 202 202 0 instructionaltech 2 11 to 20 primary
## 203 203 0 profdev 3 20+ generalist
## 204 204 0 instructionaltech 2 11 to 20 generalist
## 205 205 0 otheredprof 1 0 to 3 generalist
## 206 206 0 curriculum 2 11 to 20 generalist
## 207 207 0 instructionaltech 1 0 to 3 secondary
## 208 208 0 otheredprof 2 11 to 20 generalist
## 209 209 0 schooladmin 3 20+ secondary
## 210 210 0 Operations 2 6 to 10 generalist
## 211 211 0 otheredprof 2 11 to 20 generalist
## 212 212 0 schooladmin 3 20+ secondary
## 213 213 0 instructionaltech 2 11 to 20 generalist
## 214 214 0 profdev 1 6 to 10 middle
## 215 215 0 classteaching 1 6 to 10 secondary
## 216 216 0 schooladmin 3 20+ middle
## 217 217 0 otheredprof 3 20+ generalist
## 218 218 0 otheredprof 1 6 to 10 generalist
## 219 219 0 curriculum 3 20+ secondary
## 220 220 0 profdev 3 20+ generalist
## 221 221 0 specialed 1 6 to 10 secondary
## 222 222 0 otheredprof 3 20+ secondary
## 223 223 0 curriculum 2 11 to 20 generalist
## 224 224 0 instructionaltech 3 20+ generalist
## 225 225 0 otheredprof 3 20+ generalist
## 226 226 0 techinfrastructure 3 20+ generalist
## 227 227 0 classteaching 2 11 to 20 middle
## 228 228 0 otheredprof 1 0 to 3 generalist
## 229 229 0 instructionaltech 2 11 to 20 primary
## 230 230 0 districtadmin 3 20+ generalist
## 231 231 0 districtadmin 3 20+ generalist
## 232 232 0 libmedia 3 20+ secondary
## 233 233 0 otheredprof 2 11 to 20 generalist
## 234 234 0 instructionaltech 3 20+ generalist
## 235 235 0 profdev 2 11 to 20 generalist
## 236 236 0 classteaching 1 6 to 10 primary
## 237 237 0 instructionaltech 2 11 to 20 middle
## 238 238 0 instructionaltech 1 4 to 5 generalist
## 239 239 0 instructionaltech 1 6 to 10 generalist
## 240 240 0 schooladmin 1 6 to 10 secondary
## 241 241 0 classteaching 1 4 to 5 generalist
## 242 242 0 otheredprof 1 4 to 5 college
## 243 243 0 instructionaltech 1 6 to 10 secondary
## 244 244 0 profdev 3 20+ generalist
## 245 245 0 profdev 1 0 to 3 generalist
## 246 246 0 instructionaltech 3 20+ primary
## 247 247 0 classteaching 2 11 to 20 secondary
## 248 248 0 techinfrastructure 1 0 to 3 generalist
## 249 249 0 instructionaltech 2 11 to 20 generalist
## 250 250 0 instructionaltech 2 11 to 20 generalist
## 251 251 0 instructionaltech 2 11 to 20 middle
## 252 252 0 schooladmin 2 11 to 20 secondary
## 253 253 0 instructionaltech 3 20+ generalist
## 254 254 0 classteaching 3 20+ primary
## 255 255 0 instructionaltech 2 11 to 20 generalist
## 256 256 0 instructionaltech 3 20+ generalist
## 257 257 0 otheredprof 3 20+ generalist
## 258 258 0 schooladmin 3 20+ middle
## 259 259 0 classteaching 3 20+ primary
## 260 260 0 classteaching 3 20+ primary
## 261 261 0 instructionaltech 2 11 to 20 secondary
## 262 262 0 classteaching 3 20+ primary
## 263 263 0 other 2 11 to 20 secondary
## 264 264 0 profdev 2 11 to 20 primary
## 265 265 0 districtadmin 3 20+ generalist
## 266 266 0 classteaching 1 6 to 10 secondary
## 267 267 0 districtadmin 3 20+ generalist
## 268 268 0 instructionaltech 1 6 to 10 generalist
## 269 269 0 instructionaltech 3 20+ middle
## 270 270 0 classteaching 1 6 to 10 secondary
## 271 271 0 schooladmin 2 11 to 20 primary
## 272 272 0 classteaching 3 20+ secondary
## 273 273 0 instructionaltech 3 20+ generalist
## 274 274 0 instructionaltech 3 20+ primary
## 275 275 0 techinfrastructure 1 0 to 3 generalist
## 276 276 0 techinfrastructure 3 20+ generalist
## 277 277 0 instructionaltech 3 20+ generalist
## 278 278 0 otheredprof 2 11 to 20 secondary
## 279 279 0 specialed 3 20+ middle
## 280 280 0 districtadmin 3 20+ generalist
## 281 281 0 schooladmin 3 20+ secondary
## 282 282 0 classteaching 1 4 to 5 primary
## 283 283 0 libmedia 2 11 to 20 middle
## 284 284 0 instructionaltech 1 6 to 10 generalist
## 285 285 0 classteaching 1 0 to 3 secondary
## 286 286 0 districtadmin 3 20+ generalist
## 287 287 0 districtadmin 1 6 to 10 generalist
## 288 288 0 classteaching 1 4 to 5 secondary
## 289 289 0 schooladmin 2 11 to 20 secondary
## 290 290 0 instructionaltech 3 20+ generalist
## 291 291 0 instructionaltech 1 6 to 10 secondary
## 292 292 0 classteaching 1 0 to 3 primary
## 293 293 0 instructionaltech 3 20+ secondary
## 294 294 0 other 3 20+ secondary
## 295 295 0 classteaching 1 6 to 10 secondary
## 296 296 0 instructionaltech 3 20+ college
## 297 297 0 schooladmin 3 20+ primary
## 298 298 0 instructionaltech 3 20+ primary
## 299 299 0 districtadmin 3 20+ generalist
## 300 300 0 schooladmin 2 11 to 20 secondary
## 301 301 0 libmedia 2 11 to 20 generalist
## 302 302 0 classteaching 3 20+ secondary
## 303 303 0 classteaching 3 20+ secondary
## 304 304 0 instructionaltech 1 6 to 10 college
## 305 305 0 instructionaltech 3 20+ generalist
## 306 306 0 instructionaltech 1 6 to 10 generalist
## 307 307 0 curriculum 2 11 to 20 generalist
## 308 308 0 classteaching 1 4 to 5 secondary
## 309 309 0 classteaching 1 4 to 5 secondary
## 310 310 0 instructionaltech 2 11 to 20 college
## 311 311 0 districtadmin 2 11 to 20 generalist
## 312 312 0 districtadmin 2 11 to 20 generalist
## 313 313 0 classteaching 2 11 to 20 secondary
## 314 314 0 instructionaltech 2 11 to 20 primary
## 315 315 0 libmedia 3 20+ secondary
## 316 316 0 classteaching 3 20+ secondary
## 317 317 0 otheredprof 3 20+ generalist
## 318 318 0 classteaching 2 11 to 20 secondary
## 319 319 0 districtadmin 2 11 to 20 generalist
## 320 320 0 districtadmin 3 20+ generalist
## 321 321 0 schooladmin 2 11 to 20 primary
## 322 322 0 schooladmin 1 6 to 10 generalist
## 323 323 0 classteaching 1 6 to 10 secondary
## 324 324 0 schooladmin 3 20+ secondary
## 325 325 0 districtadmin 2 11 to 20 generalist
## 326 326 0 otheredprof 3 20+ secondary
## 327 327 0 classteaching 1 6 to 10 primary
## 328 328 0 instructionaltech 3 20+ generalist
## 329 329 0 techinfrastructure 2 11 to 20 generalist
## 330 330 0 otheredprof 3 20+ college
## 331 331 0 curriculum 2 11 to 20 generalist
## 332 332 0 instructionaltech 1 6 to 10 generalist
## 333 333 0 profdev 1 6 to 10 primary
## 334 334 0 schooladmin 3 20+ secondary
## 335 335 0 instructionaltech 3 20+ secondary
## 336 336 0 instructionaltech 2 11 to 20 primary
## 337 337 0 profdev 3 20+ secondary
## 338 338 0 otheredprof 3 20+ generalist
## 339 339 0 classteaching 3 20+ secondary
## 340 340 0 districtadmin 3 20+ generalist
## 341 341 0 classteaching 3 20+ secondary
## 342 342 0 schooladmin 3 20+ generalist
## 343 343 0 classteaching 1 4 to 5 primary
## 344 344 0 instructionaltech 3 20+ generalist
## 345 345 0 instructionaltech 3 20+ primary
## 346 346 0 instructionaltech 1 6 to 10 secondary
## 347 347 0 instructionaltech 2 11 to 20 middle
## 348 348 0 schooladmin 3 20+ secondary
## 349 349 0 instructionaltech 1 0 to 3 primary
## 350 350 0 schooladmin 2 11 to 20 middle
## 351 351 0 instructionaltech 2 11 to 20 generalist
## 352 352 0 districtadmin 1 6 to 10 generalist
## 353 353 0 libmedia 1 6 to 10 middle
## 354 354 0 classteaching 2 11 to 20 secondary
## 355 355 0 schooladmin 2 11 to 20 secondary
## 356 356 0 instructionaltech 2 11 to 20 generalist
## 357 357 0 classteaching 3 20+ secondary
## 358 358 0 schooladmin 3 20+ primary
## 359 359 0 instructionaltech 3 20+ generalist
## 360 360 0 instructionaltech 1 0 to 3 generalist
## 361 361 0 profdev 3 20+ generalist
## 362 362 0 instructionaltech 2 11 to 20 secondary
## 363 363 0 curriculum 3 20+ secondary
## 364 364 0 otheredprof 3 20+ generalist
## 365 365 0 libmedia 2 11 to 20 college
## 366 366 0 profdev 2 11 to 20 generalist
## 367 367 0 profdev 1 0 to 3 college
## 368 368 0 instructionaltech 2 11 to 20 secondary
## 369 369 0 otheredprof 3 20+ college
## 370 370 0 otheredprof 3 20+ generalist
## 371 371 0 instructionaltech 2 11 to 20 generalist
## 372 372 0 instructionaltech 3 20+ generalist
## 373 373 0 instructionaltech 1 6 to 10 primary
## 374 374 0 classteaching 2 11 to 20 secondary
## 375 375 0 instructionaltech 3 20+ NULL
## 376 376 0 classteaching 2 11 to 20 secondary
## 377 377 0 instructionaltech 2 11 to 20 generalist
## 378 378 0 districtadmin 1 6 to 10 generalist
## 379 379 0 otheredprof 2 11 to 20 secondary
## 380 380 0 districtadmin 3 20+ secondary
## 381 381 0 schooladmin 2 11 to 20 generalist
## 382 382 0 curriculum 2 11 to 20 secondary
## 383 383 0 districtadmin 3 20+ generalist
## 384 384 0 instructionaltech 2 11 to 20 generalist
## 385 385 0 districtadmin 3 20+ generalist
## 386 386 0 instructionaltech 2 11 to 20 generalist
## 387 387 0 instructionaltech 3 20+ generalist
## 388 388 0 instructionaltech 2 11 to 20 generalist
## 389 389 0 curriculum 3 20+ generalist
## 390 390 0 libmedia 1 6 to 10 primary
## 391 391 0 curriculum 3 20+ primary
## 392 392 0 techinfrastructure 3 20+ generalist
## 393 393 0 instructionaltech 2 11 to 20 middle
## 394 394 0 instructionaltech 1 6 to 10 generalist
## 395 395 0 districtadmin 2 11 to 20 generalist
## 396 396 0 curriculum 2 11 to 20 generalist
## 397 397 0 otheredprof 1 4 to 5 generalist
## 398 398 0 curriculum 1 6 to 10 middle
## 399 399 0 curriculum 2 11 to 20 generalist
## 400 400 0 classteaching 3 20+ college
## 401 401 0 techinfrastructure 2 11 to 20 secondary
## 402 402 0 schooladmin 2 11 to 20 generalist
## 403 403 0 instructionaltech 3 20+ generalist
## 404 404 0 otheredprof 1 6 to 10 primary
## 405 405 0 districtadmin 1 4 to 5 generalist
## 406 406 0 instructionaltech 2 11 to 20 generalist
## 407 407 0 instructionaltech 3 20+ secondary
## 408 408 0 techinfrastructure 3 20+ generalist
## 409 409 0 instructionaltech 1 6 to 10 generalist
## 410 410 0 curriculum 1 4 to 5 generalist
## 411 411 0 instructionaltech 3 20+ generalist
## 412 412 0 specialed 1 6 to 10 generalist
## 413 413 0 instructionaltech 3 20+ generalist
## 414 414 0 instructionaltech 2 11 to 20 generalist
## 415 415 0 profdev 3 20+ generalist
## 416 416 0 libmedia 2 11 to 20 secondary
## 417 417 0 classteaching 2 11 to 20 generalist
## 418 418 0 instructionaltech 2 11 to 20 generalist
## 419 419 0 classteaching 3 20+ secondary
## 420 420 0 districtadmin 2 11 to 20 generalist
## 421 421 0 instructionaltech 2 11 to 20 generalist
## 422 422 0 profdev 2 11 to 20 generalist
## 423 423 0 curriculum 3 20+ generalist
## 424 424 0 libmedia 2 11 to 20 primary
## 425 425 0 districtadmin 3 20+ generalist
## 426 426 0 districtadmin 1 6 to 10 generalist
## 427 427 0 libmedia 3 20+ generalist
## 428 428 0 otheredprof 3 20+ primary
## 429 429 0 instructionaltech 1 0 to 3 generalist
## 430 430 0 instructionaltech 2 11 to 20 generalist
## 431 431 0 classteaching 2 11 to 20 middle
## 432 432 0 instructionaltech 1 6 to 10 secondary
## 433 433 0 curriculum 3 20+ curriculum
## 434 434 0 instructionaltech 1 20+ generalist
## 435 435 0 instructionaltech 1 20+ high
## 436 436 0 profdev 2 11 to 20 generalist
## 437 437 0 instructionaltech 1 20+ generalist
## 438 438 0 instructionaltech 1 11 to 20 generalist
## 439 439 0 NULL 1 NULL NULL
## 440 440 0 profdev 2 11 to 20 secondary
## 441 441 0 libmedia 3 20+ middle
## 442 442 0 districtadmin 3 20+ generalist
## 443 443 0 instructionaltech 2 11 to 20 generalist
## 444 444 1 otheredprof 3 20+ generalist
## 445 445 1 otheredprof 3 20+ generalist
## location region country group gender expert connect strong_component
## 1 VA South US UZ female 0 1 1
## 2 FL South US DL female 0 0 1
## 3 PA Northeast US OT female 0 1 1
## 4 NC South US N female 0 0 1
## 5 AL South US AC female 0 0 1
## 6 AL South US AC female 0 1 1
## 7 SD Midwest US OT female 0 0 1
## 8 BE International BE AC female 0 0 1
## 9 NC South US N female 0 0 1
## 10 NC South US N male 0 0 1
## 11 KG International KG DL female 0 1 1
## 12 AL South US AC female 0 0 1
## 13 CA West US AC female 0 0 1
## 14 NC South US N female 0 0 1
## 15 WV South US UZ female 0 0 1
## 16 ES International ES DL male 0 0 1
## 17 NC South US N female 0 0 1
## 18 FL South US DL female 0 0 194
## 19 AU International AU AC male 0 1 1
## 20 MI Midwest US M male 0 0 1
## 21 NC South US N female 0 0 203
## 22 FL South US DL male 0 0 1
## 23 NC South US N female 0 0 209
## 24 IN Midwest US DL female 0 1 1
## 25 IL Midwest US DL female 0 0 1
## 26 TX South US OT female 0 0 1
## 27 IA Midwest US DL female 0 0 1
## 28 ME Northeast US M female 1 0 193
## 29 AL South US AC female 0 0 1
## 30 NC South US N female 0 1 1
## 31 CA West US AC male 0 1 192
## 32 CA West US AC female 0 0 1
## 33 CA West US AC male 0 0 1
## 34 AL South US AC female 0 0 1
## 35 SD Midwest US OT male 0 0 1
## 36 UT West US UZ female 0 1 1
## 37 CA West US AC male 0 0 1
## 38 ME Northeast US M male 0 1 1
## 39 NC South US N female 0 1 1
## 40 AZ West US AC female 0 0 191
## 41 PA Northeast US OT male 1 1 1
## 42 PA Northeast US OT male 1 0 1
## 43 MA Northeast US M female 1 1 1
## 44 NC South US N male 0 1 1
## 45 NM West US N female 0 0 1
## 46 NH Northeast US N female 0 0 1
## 47 MA Northeast US M female 1 0 190
## 48 KS Midwest US DL male 1 0 1
## 49 ME Northeast US M female 0 0 1
## 50 VA South US UZ female 0 0 1
## 51 VA South US UZ male 0 0 1
## 52 NH Northeast US N male 0 0 1
## 53 MA Northeast US M female 0 0 1
## 54 VT Northeast US UZ female 0 0 1
## 55 NC South US N female 0 0 189
## 56 PA Northeast US OT female 1 1 1
## 57 KS Midwest US DL female 0 0 1
## 58 NG International NG N female 0 0 1
## 59 PA Northeast US OT female 0 0 1
## 60 NC South US N female 0 0 1
## 61 NC South US N female 0 0 1
## 62 NJ Northeast US N female 0 0 1
## 63 WV South US UZ female 0 0 1
## 64 NH Northeast US N female 0 0 1
## 65 NH Northeast US N female 0 0 1
## 66 NC South US N female 0 0 1
## 67 NC South US N female 0 0 1
## 68 ISL International IL DL female 0 1 1
## 69 NJ Northeast US N female 0 0 1
## 70 NC South US N female 0 0 1
## 71 WA West US UZ female 0 0 1
## 72 VA South US UZ female 0 0 1
## 73 SC South US OT female 0 0 188
## 74 VT Northeast US UZ female 0 0 1
## 75 VT Northeast US UZ female 0 0 1
## 76 KS Midwest US DL female 0 0 1
## 77 VA South US UZ female 0 1 1
## 78 TH International TH OT female 0 1 1
## 79 MN Midwest US M female 0 0 187
## 80 VA South US UZ female 0 1 1
## 81 WA West US UZ female 0 0 1
## 82 VA South US UZ female 0 0 1
## 83 ME Northeast US M female 0 0 1
## 84 PA Northeast US OT female 0 0 208
## 85 NC South US N female 0 0 1
## 86 NH Northeast US N male 0 0 186
## 87 NH Northeast US N female 0 0 1
## 88 MO Midwest US M male 0 0 1
## 89 MI Midwest US M female 0 0 185
## 90 MI Midwest US M female 0 0 1
## 91 MN Midwest US M male 0 0 1
## 92 KS Midwest US DL male 0 0 1
## 93 AL South US AC male 0 0 184
## 94 CA West US AC male 0 0 1
## 95 CT Northeast US AC female 0 0 182
## 96 NC South US N female 0 0 181
## 97 AL South US AC female 0 0 179
## 98 NC South US N female 0 0 1
## 99 CA West US AC male 0 1 1
## 100 NC South US N male 0 0 1
## 101 NC South US N female 0 0 1
## 102 RI Northeast US OT female 0 0 178
## 103 RI Northeast US OT male 0 0 1
## 104 ME Northeast US M female 0 0 1
## 105 NC South US N male 0 0 1
## 106 NC South US N male 0 0 1
## 107 NC South US N female 0 0 1
## 108 RI Northeast US OT female 0 1 177
## 109 TX South US OT female 0 0 1
## 110 NC South US N male 0 0 1
## 111 SC South US OT female 0 0 176
## 112 WI Midwest US UZ male 0 0 1
## 113 CA West US AC female 0 0 1
## 114 ZA International ZA UZ male 0 1 1
## 115 PA Northeast US OT female 0 0 1
## 116 SD Midwest US OT female 0 0 1
## 117 SC South US OT female 0 0 1
## 118 ZA International ZA UZ male 0 0 1
## 119 TX South US OT female 0 0 1
## 120 OH Midwest US OT female 0 0 175
## 121 VA South US UZ male 0 0 1
## 122 AL South US AC female 0 1 1
## 123 TX South US OT female 0 0 170
## 124 SC South US OT male 0 0 169
## 125 PA Northeast US OT female 0 0 168
## 126 PA Northeast US OT male 0 1 167
## 127 AL South US AC male 0 0 166
## 128 RU International RU OT female 0 0 1
## 129 OH Midwest US OT female 0 0 1
## 130 RI Northeast US OT female 0 1 165
## 131 NC South US N female 0 0 1
## 132 MI Midwest US M female 0 1 1
## 133 NC South US N male 0 1 1
## 134 NC South US N male 0 0 164
## 135 TX South US OT female 0 0 163
## 136 RI Northeast US OT male 0 0 1
## 137 OR West US OT male 0 0 1
## 138 VT Northeast US UZ female 0 0 1
## 139 VA South US UZ female 0 0 162
## 140 GB International GB DL female 0 0 160
## 141 WA West US UZ female 0 0 1
## 142 AL South US AC female 0 0 1
## 143 NJ Northeast US N female 0 1 159
## 144 VA South US UZ male 0 0 1
## 145 OH Midwest US OT female 0 0 174
## 146 CA West US AC female 0 0 183
## 147 ME Northeast US M female 0 0 158
## 148 TX South US OT female 1 1 157
## 149 OH Midwest US OT male 0 1 156
## 150 TX South US OT male 0 0 173
## 151 RI Northeast US OT male 0 1 172
## 152 VT Northeast US UZ male 0 0 1
## 153 WY West US UZ male 0 0 206
## 154 MN Midwest US M female 0 0 1
## 155 VA South US UZ female 0 0 1
## 156 ME Northeast US M female 0 0 1
## 157 AL South US AC male 0 0 1
## 158 WI Midwest US UZ female 0 0 1
## 159 VT Northeast US UZ male 0 0 1
## 160 WI Midwest US UZ female 0 0 155
## 161 NC South US N female 0 0 1
## 162 NC South US N female 0 0 1
## 163 NH Northeast US N male 0 0 1
## 164 TX South US OT male 0 0 154
## 165 RI Northeast US OT female 0 0 1
## 166 RI Northeast US OT female 0 0 153
## 167 DC South US DL male 0 1 1
## 168 IA Midwest US DL female 0 0 152
## 169 LA Northeast US DL female 0 0 151
## 170 IL Midwest US DL male 0 0 1
## 171 IN Midwest US DL male 0 0 150
## 172 JM International JM DL female 0 0 1
## 173 AK West US AC male 0 0 1
## 174 CAN International CA AC male 0 0 149
## 175 VT Northeast US UZ female 0 1 202
## 176 VT Northeast US UZ male 0 0 1
## 177 NJ Northeast US N female 1 1 1
## 178 MN Midwest US M male 0 0 1
## 179 AL South US AC male 0 0 148
## 180 AU International AU AC male 0 0 147
## 181 OR West US OT female 0 0 1
## 182 VA South US UZ female 0 0 201
## 183 AL South US AC male 0 0 1
## 184 NH Northeast US N male 0 0 1
## 185 VA South US UZ female 0 0 1
## 186 IL Midwest US DL female 0 0 146
## 187 CA West US AC male 0 0 195
## 188 PA Northeast US OT male 0 0 1
## 189 CAN International CA AC female 0 0 198
## 190 CAN International CA AC female 0 0 1
## 191 BR International BR AC female 0 0 1
## 192 ME Northeast US M female 0 0 1
## 193 NY Northeast US N female 0 0 1
## 194 NC South US N female 0 1 1
## 195 NC South US N female 0 1 1
## 196 DC South US DL female 0 0 145
## 197 AZ West US AC female 1 1 1
## 198 VA South US UZ female 0 0 1
## 199 NJ Northeast US N female 0 0 1
## 200 OH Midwest US OT female 0 1 1
## 201 ME Northeast US M female 0 0 1
## 202 VA South US UZ female 0 0 144
## 203 IA Midwest US DL female 0 0 1
## 204 WY West US UZ female 0 0 143
## 205 AL South US AC female 0 0 1
## 206 MT West US M male 0 1 1
## 207 NC South US N male 0 1 1
## 208 NJ Northeast US N male 0 0 1
## 209 WI Midwest US UZ male 0 0 1
## 210 RI Northeast US OT male 1 0 142
## 211 DC South US DL male 1 1 1
## 212 NH Northeast US N male 0 0 1
## 213 NY Northeast US N female 0 0 141
## 214 ME Northeast US M female 0 0 140
## 215 ME Northeast US M female 0 1 139
## 216 NC South US N female 0 0 1
## 217 CA West US AC male 0 1 1
## 218 DC South US DL male 0 0 1
## 219 AL South US AC female 0 0 1
## 220 OR West US OT female 0 0 138
## 221 NY Northeast US N female 0 0 1
## 222 CT Northeast US AC male 0 0 1
## 223 AZ West US AC male 0 0 1
## 224 OK Midwest US OT female 0 0 137
## 225 AL South US AC female 0 1 136
## 226 ME Northeast US M male 0 0 1
## 227 ME Northeast US M female 0 0 1
## 228 AL South US AC male 1 0 135
## 229 CAN International CA AC male 0 0 134
## 230 SC South US OT female 0 0 132
## 231 VA South US UZ female 0 1 131
## 232 WV South US UZ female 0 0 130
## 233 FL South US DL female 0 0 129
## 234 IA Midwest US DL female 0 0 204
## 235 FL South US DL female 0 0 1
## 236 IN Midwest US DL female 0 0 128
## 237 ID West US DL male 0 0 127
## 238 KS Midwest US DL male 0 0 126
## 239 ID West US DL male 0 0 161
## 240 LA South US DL female 0 0 125
## 241 DEN International DE DL female 0 0 124
## 242 JM International JM DL female 0 0 123
## 243 IL Midwest US DL male 0 0 1
## 244 DC South US DL female 0 0 122
## 245 FL South US DL female 0 1 120
## 246 WI Midwest US UZ female 0 0 1
## 247 MI Midwest US M male 0 0 1
## 248 IL Midwest US DL male 0 0 1
## 249 MO Midwest US M female 0 0 1
## 250 NC South US N female 0 0 1
## 251 CO West US AC male 0 0 1
## 252 NC South US N male 0 0 1
## 253 MA Northeast US M female 0 0 1
## 254 MN Midwest US M female 0 0 1
## 255 ME Northeast US M female 0 0 119
## 256 ME Northeast US M female 0 0 1
## 257 CA West US AC male 0 0 1
## 258 AL South US AC male 0 0 180
## 259 NC South US N female 0 0 118
## 260 NH Northeast US N male 0 0 116
## 261 NC South US N female 0 1 117
## 262 RI Northeast US OT female 0 0 1
## 263 FL South US DL female 0 0 121
## 264 CO West US AC female 0 0 115
## 265 WI Midwest US UZ male 0 0 1
## 266 WI Midwest US UZ female 0 0 1
## 267 AL South US AC male 0 0 114
## 268 TX South US OT female 0 0 1
## 269 AL South US AC female 0 0 113
## 270 PA Northeast US OT female 0 0 1
## 271 NC South US N female 0 0 1
## 272 CA West US AC male 0 0 1
## 273 VA South US UZ female 0 1 199
## 274 TX South US OT female 0 0 112
## 275 NH Northeast US N male 0 0 1
## 276 VA South US UZ male 0 0 1
## 277 CA West US AC female 1 0 1
## 278 CA West US AC female 0 1 111
## 279 NH Northeast US N female 0 0 1
## 280 MN Midwest US M male 0 0 110
## 281 ME Northeast US M male 0 0 1
## 282 MO Midwest US M female 0 0 109
## 283 NC South US N female 0 0 107
## 284 NC South US N male 0 0 108
## 285 WV South US UZ male 0 1 1
## 286 VT Northeast US UZ female 0 0 200
## 287 MA Northeast US M female 0 0 1
## 288 CAN International CA AC male 0 1 106
## 289 OH Midwest US OT female 0 0 105
## 290 KS Midwest US DL female 0 0 104
## 291 NC South US N female 0 0 103
## 292 NJ Northeast US N female 0 0 1
## 293 AL South US AC female 1 1 1
## 294 FL South US DL male 0 1 102
## 295 COL International CO AC male 0 0 1
## 296 CAN International CA AC male 0 0 101
## 297 NC South US N male 0 1 100
## 298 NC South US N female 0 0 99
## 299 PA Northeast US OT male 0 0 98
## 300 WI Midwest US UZ male 0 0 1
## 301 WI Midwest US UZ female 0 0 1
## 302 NC South US N female 0 0 1
## 303 NC South US N female 0 0 1
## 304 NJ Northeast US N female 0 0 97
## 305 WI Midwest US UZ female 0 0 1
## 306 NC South US N male 0 0 197
## 307 WI Midwest US UZ female 0 0 1
## 308 NY Northeast US N female 0 0 207
## 309 GB International GB DL female 0 0 96
## 310 GB International GB DL male 0 0 1
## 311 CT Northeast US AC male 0 0 95
## 312 CT Northeast US AC female 0 0 94
## 313 CA West US AC female 0 0 93
## 314 AZ West US AC female 0 0 92
## 315 CA West US AC female 0 0 91
## 316 CAN International CA AC female 0 0 90
## 317 CA West US AC male 0 0 1
## 318 MO Midwest US M female 0 0 1
## 319 WI Midwest US UZ male 0 0 1
## 320 VA South US UZ female 0 0 89
## 321 NC South US N male 0 0 1
## 322 VA South US UZ male 0 0 1
## 323 CT Northeast US AC female 0 0 1
## 324 VA South US UZ female 0 0 205
## 325 NC South US N male 1 0 1
## 326 NC South US N female 0 1 88
## 327 PA Northeast US OT male 0 0 87
## 328 MO Midwest US M male 0 0 86
## 329 MO Midwest US M male 0 0 1
## 330 OR West US OT female 0 0 171
## 331 CA West US AC male 0 0 1
## 332 TN South US OT female 0 1 85
## 333 AL South US AC female 0 0 84
## 334 NC South US N female 0 0 196
## 335 VA South US UZ female 0 0 1
## 336 NC South US N female 0 0 1
## 337 NY Northeast US N male 0 1 1
## 338 AL South US AC female 0 0 1
## 339 VA South US UZ female 0 0 1
## 340 SC South US OT female 0 0 1
## 341 NY Northeast US N female 0 1 1
## 342 CAN International CA AC male 0 0 1
## 343 TX South US OT female 0 0 1
## 344 OH Midwest US OT female 0 0 133
## 345 VA South US UZ female 0 0 1
## 346 AL South US AC male 0 0 1
## 347 NC South US N male 0 1 1
## 348 NC South US N female 0 0 83
## 349 NY Northeast US N female 0 0 82
## 350 ME Northeast US M male 0 0 1
## 351 WA West US UZ male 0 0 1
## 352 OH Midwest US OT female 0 0 81
## 353 NH Northeast US N female 0 0 80
## 354 NC South US N female 0 0 79
## 355 KS Midwest US DL female 0 0 1
## 356 IL Midwest US DL female 0 0 1
## 357 NC South US N female 0 0 78
## 358 NY Northeast US N female 0 0 1
## 359 MA Northeast US M female 0 0 77
## 360 NC South US N female 0 0 76
## 361 NC South US N female 0 1 1
## 362 KS Midwest US DL female 0 0 75
## 363 IL Midwest US DL male 0 0 74
## 364 IN International IN DL male 0 0 73
## 365 NC South US N female 0 0 72
## 366 NZ International NZ N female 0 0 71
## 367 NY Northeast US N female 0 0 70
## 368 NH Northeast US N female 0 0 69
## 369 PA Northeast US OT female 0 0 68
## 370 NC South US N female 0 0 67
## 371 NM West US N female 0 0 66
## 372 NC South US N female 0 0 65
## 373 NY Northeast US N female 0 0 64
## 374 NC South US N female 0 0 63
## 375 AL South US AC female 0 0 62
## 376 NH Northeast US N female 0 0 61
## 377 NC South US N male 0 0 60
## 378 NC South US N male 0 0 59
## 379 NC South US N female 0 0 58
## 380 NJ Northeast US N female 0 0 57
## 381 NJ Northeast US N female 0 0 56
## 382 NC South US N female 0 0 55
## 383 NC South US N female 0 0 54
## 384 GA South US DL female 0 1 53
## 385 TX South US OT female 0 0 52
## 386 TH International TH OT female 0 0 51
## 387 OH Midwest US OT female 0 1 50
## 388 TX South US OT male 0 0 49
## 389 PA Northeast US OT female 0 0 48
## 390 RI Northeast US OT female 0 0 47
## 391 TX South US OT female 0 0 46
## 392 AL South US AC male 0 0 45
## 393 WY West US UZ female 0 0 44
## 394 WI Midwest US UZ male 0 0 43
## 395 WY West US UZ female 0 0 42
## 396 WI Midwest US UZ male 0 0 41
## 397 WI Midwest US UZ female 0 0 40
## 398 MD South US M female 0 0 39
## 399 MA Northeast US M female 0 0 38
## 400 MX International MX M male 0 1 37
## 401 MA International MA M female 0 0 36
## 402 MN Midwest US M male 0 0 35
## 403 MI Midwest US M female 0 0 34
## 404 MO Midwest US M female 0 0 33
## 405 MA Northeast US M male 0 0 32
## 406 MI Midwest US M female 0 0 31
## 407 ME Northeast US M female 0 0 30
## 408 MO Midwest US M male 0 0 29
## 409 NC South US N female 0 0 28
## 410 NM West US N female 0 1 27
## 411 OR West US OT female 0 1 26
## 412 VA South US UZ female 0 0 25
## 413 SC South US OT female 0 1 1
## 414 AZ West US AC female 0 0 24
## 415 AR South US AC male 0 0 23
## 416 CA West US AC female 0 0 22
## 417 NJ Northeast US N female 0 0 21
## 418 NH Northeast US N female 0 0 20
## 419 NC South US N female 0 0 19
## 420 MA Northeast US M female 0 0 18
## 421 MN Midwest US M female 0 0 17
## 422 NC South US N female 0 1 1
## 423 VT Northeast US UZ male 0 0 16
## 424 CO West US AC female 0 0 15
## 425 PA Northeast US OT male 0 1 14
## 426 OH Midwest US OT female 0 0 13
## 427 WI Midwest US UZ female 0 0 12
## 428 MA Northeast US M female 0 0 11
## 429 NM West US N male 0 1 10
## 430 NM West US N female 0 0 9
## 431 NH Northeast US N female 0 0 8
## 432 NC South US N female 0 0 1
## 433 AL South US AC female 0 0 1
## 434 MO Midwest US M female 1 0 1
## 435 MA Northeast US M male 1 0 7
## 436 NC South US N male 0 0 6
## 437 MO Midwest US M female 1 0 1
## 438 OR West US OT male 1 0 1
## 439 NULL NULL NULL NULL NULL NULL NULL 1
## 440 NC South US N female 0 0 5
## 441 TX South US OT female 0 0 4
## 442 SC South US OT female 0 0 3
## 443 NY Northeast US N female 0 0 2
## 444 NC South US N male 0 0 1
## 445 NC South US N female 0 0 1
## sub_group community degree_c betweenness_c closeness_c
## 1 1 4 53 9.997258e-03 0.197508897
## 2 37 5 7 9.338289e-05 0.172628305
## 3 9 5 6 1.332240e-04 0.171627368
## 4 1 7 16 2.173936e-04 0.191709845
## 5 1 2 33 4.915016e-03 0.194907814
## 6 1 3 33 4.110439e-03 0.196113074
## 7 1 2 58 1.514472e-02 0.198835647
## 8 1 2 31 1.092029e-03 0.194907814
## 9 1 1 14 6.887348e-05 0.193295603
## 10 1 7 20 4.643416e-03 0.194736842
## 11 1 3 121 1.357036e-02 0.200814111
## 12 1 2 24 4.039876e-04 0.181669394
## 13 1 3 35 3.087664e-03 0.194140796
## 14 1 3 25 2.642207e-04 0.194993412
## 15 1 7 31 1.926153e-03 0.196460177
## 16 38 7 3 1.508410e-05 0.167610419
## 17 1 3 24 6.282821e-04 0.195250660
## 18 1 3 19 5.392684e-04 0.193971166
## 19 1 5 79 3.362383e-02 0.198835647
## 20 39 5 3 6.686092e-06 0.166791886
## 21 40 3 2 1.977146e-06 0.166666667
## 22 1 1 23 1.796529e-03 0.194140796
## 23 41 3 6 8.503385e-06 0.170441459
## 24 1 3 57 6.177946e-03 0.198746643
## 25 42 3 12 2.348410e-04 0.189339019
## 26 1 3 34 1.848973e-03 0.195422535
## 27 1 1 31 6.929039e-03 0.193548387
## 28 43 7 1 0.000000e+00 0.163235294
## 29 1 7 35 9.491100e-03 0.196721311
## 30 1 7 90 1.645036e-02 0.199192463
## 31 44 7 1 0.000000e+00 0.164627364
## 32 45 7 15 5.051407e-04 0.189662537
## 33 46 8 23 6.929501e-04 0.191875540
## 34 1 3 39 1.092729e-03 0.196113074
## 35 1 7 34 5.316433e-03 0.193464052
## 36 1 7 47 7.218586e-03 0.198657718
## 37 10 7 11 1.623720e-04 0.173099415
## 38 47 8 9 1.016427e-04 0.190721649
## 39 1 4 18 4.665541e-04 0.194140796
## 40 48 4 1 0.000000e+00 0.151535836
## 41 1 4 35 5.602716e-03 0.178313253
## 42 1 7 19 4.711667e-04 0.174734357
## 43 49 4 8 3.957020e-05 0.170900693
## 44 1 4 117 2.750977e-02 0.201360544
## 45 50 3 3 3.627871e-05 0.189339019
## 46 51 4 11 4.804831e-04 0.179757085
## 47 52 4 5 1.592974e-05 0.177316294
## 48 53 7 6 9.722768e-05 0.189097104
## 49 1 4 42 7.914720e-03 0.196460177
## 50 1 2 30 9.747479e-04 0.195079086
## 51 1 2 19 1.788484e-04 0.193295603
## 52 1 3 17 5.245653e-04 0.181002854
## 53 1 3 35 1.838537e-03 0.184538653
## 54 1 2 42 8.083196e-03 0.196634190
## 55 54 2 4 1.094847e-04 0.175632911
## 56 1 2 24 6.434155e-04 0.182415776
## 57 55 3 11 8.681808e-05 0.189258312
## 58 1 3 39 9.939424e-04 0.196547145
## 59 56 6 21 5.947597e-03 0.195250660
## 60 1 3 65 1.478094e-02 0.198037467
## 61 1 2 53 1.966297e-02 0.196808511
## 62 1 3 33 4.608381e-04 0.195767196
## 63 1 3 36 1.528650e-03 0.194395797
## 64 1 3 45 4.634750e-03 0.195680917
## 65 57 3 3 0.000000e+00 0.188535032
## 66 58 1 8 1.031376e-04 0.193043478
## 67 1 5 30 6.168175e-03 0.196460177
## 68 1 3 61 4.240547e-03 0.196113074
## 69 59 4 10 4.555436e-03 0.192792010
## 70 60 3 4 4.041984e-05 0.188775510
## 71 1 2 13 1.165292e-03 0.192124621
## 72 61 8 6 1.957734e-03 0.189177674
## 73 62 8 2 2.371625e-06 0.164261931
## 74 63 3 16 7.699256e-04 0.179393939
## 75 64 7 10 4.696823e-04 0.192959583
## 76 65 3 5 8.353946e-06 0.188615123
## 77 66 2 11 1.603071e-04 0.192457737
## 78 11 8 6 1.030969e-03 0.189177674
## 79 11 8 4 1.316145e-05 0.164871890
## 80 67 3 7 6.675907e-05 0.173844949
## 81 68 2 9 2.023521e-04 0.189824711
## 82 69 1 7 1.565938e-04 0.192374350
## 83 1 4 14 2.723061e-03 0.194310722
## 84 12 4 5 4.482609e-03 0.166666667
## 85 12 4 7 9.703950e-04 0.192792010
## 86 70 4 1 0.000000e+00 0.143041237
## 87 71 4 12 2.490986e-03 0.193971166
## 88 1 8 30 7.380835e-03 0.194480946
## 89 72 8 1 0.000000e+00 0.163055454
## 90 73 8 4 2.870534e-06 0.188375053
## 91 13 8 18 9.879306e-04 0.193211488
## 92 1 3 33 3.693240e-03 0.195853551
## 93 74 8 3 2.428104e-05 0.164505372
## 94 75 1 7 1.838970e-03 0.191792657
## 95 4 1 7 4.493683e-03 0.188375053
## 96 1 1 12 4.745181e-04 0.192875760
## 97 14 1 5 4.446413e-05 0.176190476
## 98 1 3 28 4.422862e-04 0.192792010
## 99 76 8 6 1.074300e-04 0.192792010
## 100 1 4 29 2.226758e-03 0.195939982
## 101 15 4 12 1.491776e-03 0.193211488
## 102 77 2 6 0.000000e+00 0.192291035
## 103 78 6 14 5.205746e-03 0.192792010
## 104 16 8 21 9.561525e-04 0.182640889
## 105 79 8 5 9.977457e-05 0.189662537
## 106 80 4 6 1.553601e-05 0.172293364
## 107 81 4 19 5.186231e-04 0.190967742
## 108 82 4 4 3.381618e-06 0.168949772
## 109 1 4 22 7.966098e-03 0.192124621
## 110 17 5 4 4.479720e-03 0.188775510
## 111 17 5 1 0.000000e+00 0.159025788
## 112 83 4 5 8.488116e-05 0.188855806
## 113 84 5 10 1.765519e-04 0.189743590
## 114 85 2 11 9.969978e-05 0.180855397
## 115 18 6 26 2.333754e-02 0.193127447
## 116 18 6 35 1.524048e-02 0.197070573
## 117 86 3 6 2.994202e-05 0.171627368
## 118 87 6 6 5.342236e-05 0.166917293
## 119 88 6 7 5.582580e-04 0.169659916
## 120 19 6 3 4.474000e-03 0.188615123
## 121 89 7 11 1.416391e-04 0.193464052
## 122 90 6 3 2.903839e-05 0.166729253
## 123 2 6 5 7.004260e-04 0.168118137
## 124 91 6 2 0.000000e+00 0.188455008
## 125 92 6 1 0.000000e+00 0.164871890
## 126 93 1 3 0.000000e+00 0.188455008
## 127 94 6 2 0.000000e+00 0.188455008
## 128 95 6 24 1.690773e-03 0.192291035
## 129 20 6 14 1.254664e-03 0.190149893
## 130 96 6 1 0.000000e+00 0.164871890
## 131 97 1 5 1.821601e-05 0.188936170
## 132 98 1 6 3.640050e-05 0.171230235
## 133 99 1 9 6.186174e-04 0.189905902
## 134 100 1 2 1.138480e-04 0.187896741
## 135 5 6 2 2.412686e-05 0.160927872
## 136 1 6 25 1.148455e-03 0.193717277
## 137 1 6 30 3.241522e-03 0.195767196
## 138 101 2 9 1.111568e-04 0.192291035
## 139 102 7 4 1.847047e-05 0.188455008
## 140 21 1 3 2.542045e-06 0.161807580
## 141 103 1 5 1.773828e-03 0.188535032
## 142 104 1 14 2.481858e-04 0.193379791
## 143 105 6 6 1.068402e-06 0.189016603
## 144 1 3 21 2.019987e-04 0.190803610
## 145 2 6 2 1.866003e-05 0.164566345
## 146 4 1 3 4.023374e-05 0.191461837
## 147 106 8 13 1.800397e-03 0.193211488
## 148 22 2 8 3.947696e-05 0.177955912
## 149 2 1 1 0.000000e+00 0.158571429
## 150 2 1 4 8.477025e-03 0.188135593
## 151 2 6 2 2.440364e-05 0.160000000
## 152 107 1 5 5.905531e-04 0.189016603
## 153 108 1 3 7.111750e-06 0.163415532
## 154 109 1 10 2.301671e-03 0.192541197
## 155 110 8 18 2.595965e-03 0.193971166
## 156 111 8 3 2.979074e-06 0.169465649
## 157 1 2 11 1.112162e-03 0.192708333
## 158 1 1 15 1.195712e-03 0.190312902
## 159 112 7 5 2.855870e-05 0.176610979
## 160 23 1 3 7.270113e-04 0.188135593
## 161 1 5 18 2.865065e-04 0.192041522
## 162 113 6 7 3.611767e-05 0.191875540
## 163 1 7 12 7.773809e-05 0.193127447
## 164 114 6 1 0.000000e+00 0.161866569
## 165 9 6 8 2.495069e-04 0.190803610
## 166 115 2 6 1.530205e-04 0.191958495
## 167 116 1 14 3.070046e-03 0.190394511
## 168 117 1 2 0.000000e+00 0.161807580
## 169 3 1 5 0.000000e+00 0.188455008
## 170 3 1 9 2.442540e-04 0.189177674
## 171 118 1 7 4.474000e-03 0.188615123
## 172 119 1 8 1.063241e-04 0.189500640
## 173 120 5 9 1.893158e-03 0.189743590
## 174 24 5 2 3.389394e-06 0.162756598
## 175 121 2 5 1.207379e-05 0.166917293
## 176 1 3 14 4.787245e-03 0.192875760
## 177 1 3 15 5.059019e-04 0.182116489
## 178 122 8 8 8.215182e-04 0.189016603
## 179 4 1 6 2.089695e-04 0.191875540
## 180 4 1 1 0.000000e+00 0.158741509
## 181 123 1 3 0.000000e+00 0.187896741
## 182 124 2 10 8.758506e-05 0.172964550
## 183 125 2 12 6.552675e-04 0.180781759
## 184 126 3 12 1.835474e-03 0.193211488
## 185 127 2 14 8.593368e-04 0.193295603
## 186 128 1 2 0.000000e+00 0.187817259
## 187 129 1 3 9.243802e-07 0.187896741
## 188 130 1 4 0.000000e+00 0.188535032
## 189 131 5 3 5.180931e-06 0.187976291
## 190 132 2 5 6.130620e-05 0.191709845
## 191 133 7 4 3.038756e-05 0.169078446
## 192 1 7 18 8.311724e-03 0.192041522
## 193 1 3 22 4.425342e-04 0.193379791
## 194 6 4 6 1.290771e-04 0.189419795
## 195 134 4 12 1.090249e-04 0.194651469
## 196 6 4 5 1.783289e-05 0.189419795
## 197 25 2 7 6.288008e-04 0.178743961
## 198 1 2 36 7.005840e-04 0.195336560
## 199 16 8 14 2.846943e-04 0.193295603
## 200 135 1 5 1.945641e-04 0.189097104
## 201 136 4 22 6.532441e-04 0.193886463
## 202 1 3 13 8.398502e-05 0.194310722
## 203 137 4 12 2.806158e-04 0.190721649
## 204 138 4 2 0.000000e+00 0.187976291
## 205 13 8 17 9.459393e-04 0.190312902
## 206 139 1 3 0.000000e+00 0.188135593
## 207 140 5 16 3.426864e-04 0.183017312
## 208 141 3 7 9.279767e-05 0.170180146
## 209 142 4 3 4.400729e-05 0.175841584
## 210 143 3 2 0.000000e+00 0.175355450
## 211 144 3 10 3.336131e-04 0.192708333
## 212 1 3 12 9.547411e-05 0.192457737
## 213 145 3 1 0.000000e+00 0.165548098
## 214 146 4 2 0.000000e+00 0.188215345
## 215 147 2 5 1.321273e-05 0.177316294
## 216 148 5 7 7.396383e-05 0.170049789
## 217 26 5 13 2.370083e-03 0.190394511
## 218 27 7 5 2.627770e-04 0.189419795
## 219 149 8 30 3.178656e-03 0.192624729
## 220 150 5 1 0.000000e+00 0.166105499
## 221 151 4 10 6.195117e-04 0.191461837
## 222 152 5 2 0.000000e+00 0.166105499
## 223 1 5 39 8.530463e-03 0.196026490
## 224 153 5 2 0.000000e+00 0.167673716
## 225 154 5 1 0.000000e+00 0.166105499
## 226 1 2 15 3.017241e-04 0.194310722
## 227 155 5 2 0.000000e+00 0.166105499
## 228 156 5 2 0.000000e+00 0.177387135
## 229 157 7 1 0.000000e+00 0.161337209
## 230 7 6 3 2.736394e-05 0.161689731
## 231 158 6 7 8.912657e-05 0.170966500
## 232 159 7 3 1.664355e-05 0.191709845
## 233 160 1 1 0.000000e+00 0.161689731
## 234 3 1 37 2.242049e-02 0.192541197
## 235 161 1 4 4.327795e-05 0.191875540
## 236 162 1 3 0.000000e+00 0.188295165
## 237 163 1 1 0.000000e+00 0.161689731
## 238 3 1 2 0.000000e+00 0.161689731
## 239 21 1 3 8.818300e-04 0.188375053
## 240 164 1 2 0.000000e+00 0.188295165
## 241 3 1 3 0.000000e+00 0.188295165
## 242 165 1 4 0.000000e+00 0.188375053
## 243 5 1 8 8.748607e-03 0.189662537
## 244 166 1 1 0.000000e+00 0.161689731
## 245 28 1 3 4.474000e-03 0.188455008
## 246 167 1 6 9.804484e-06 0.188936170
## 247 168 7 8 4.513245e-03 0.192541197
## 248 169 4 9 4.524555e-03 0.190639760
## 249 1 8 12 3.758989e-03 0.192541197
## 250 170 5 4 1.124611e-04 0.191709845
## 251 10 7 5 2.123824e-04 0.188535032
## 252 171 1 3 4.994438e-07 0.188295165
## 253 172 1 3 0.000000e+00 0.188295165
## 254 173 8 2 1.520385e-06 0.161984677
## 255 29 8 2 0.000000e+00 0.187896741
## 256 29 8 5 4.152514e-05 0.188695283
## 257 6 8 4 7.012946e-05 0.188936170
## 258 14 1 5 2.263293e-04 0.191709845
## 259 174 3 3 7.710743e-05 0.188695283
## 260 30 1 1 0.000000e+00 0.158401712
## 261 30 1 2 4.474000e-03 0.187896741
## 262 175 2 4 7.810434e-05 0.176120587
## 263 28 1 1 0.000000e+00 0.158798283
## 264 176 7 2 1.475825e-05 0.175632911
## 265 177 2 4 4.980090e-04 0.188535032
## 266 31 2 5 5.145883e-05 0.164627364
## 267 178 2 2 0.000000e+00 0.188775510
## 268 179 3 9 1.532313e-04 0.173844949
## 269 180 6 3 2.866235e-06 0.167673716
## 270 181 6 2 0.000000e+00 0.162102957
## 271 182 1 4 2.285280e-04 0.188135593
## 272 183 5 2 0.000000e+00 0.164140481
## 273 184 3 4 1.041269e-05 0.168373151
## 274 185 4 1 0.000000e+00 0.167863894
## 275 186 2 5 1.959549e-06 0.177528988
## 276 187 1 5 0.000000e+00 0.192124621
## 277 188 2 6 3.919098e-06 0.177528988
## 278 24 5 5 2.665584e-03 0.192457737
## 279 189 5 12 1.773613e-03 0.191296855
## 280 190 1 3 0.000000e+00 0.188295165
## 281 191 8 8 8.324394e-05 0.192124621
## 282 5 1 1 0.000000e+00 0.159654800
## 283 32 1 1 0.000000e+00 0.158401712
## 284 32 1 2 4.474000e-03 0.187896741
## 285 15 4 6 1.193956e-05 0.168693009
## 286 23 3 2 2.944515e-06 0.162102957
## 287 192 6 4 3.862214e-05 0.169271826
## 288 33 6 2 1.171883e-05 0.162399415
## 289 193 5 3 1.296219e-04 0.164261931
## 290 194 6 1 0.000000e+00 0.162102957
## 291 195 6 1 0.000000e+00 0.162102957
## 292 196 3 2 0.000000e+00 0.187976291
## 293 197 5 3 7.205470e-06 0.176190476
## 294 198 1 1 0.000000e+00 0.158911954
## 295 8 1 5 4.479254e-03 0.188135593
## 296 8 1 1 0.000000e+00 0.158571429
## 297 8 1 2 0.000000e+00 0.187896741
## 298 199 5 3 0.000000e+00 0.191792657
## 299 200 4 2 0.000000e+00 0.187976291
## 300 201 8 15 4.780285e-03 0.194140796
## 301 22 2 14 2.176201e-03 0.192959583
## 302 202 1 5 2.205982e-06 0.188615123
## 303 203 4 7 6.020324e-05 0.192457737
## 304 204 4 2 0.000000e+00 0.187817259
## 305 205 7 2 0.000000e+00 0.188295165
## 306 25 2 4 1.164955e-04 0.165857303
## 307 206 2 6 7.882054e-04 0.175980975
## 308 207 3 8 6.997015e-05 0.189824711
## 309 208 2 1 0.000000e+00 0.164566345
## 310 26 5 30 2.296343e-02 0.192541197
## 311 209 5 1 0.000000e+00 0.161689731
## 312 210 5 1 0.000000e+00 0.161689731
## 313 211 5 1 0.000000e+00 0.161689731
## 314 212 5 2 0.000000e+00 0.188615123
## 315 213 5 2 0.000000e+00 0.162102957
## 316 214 5 1 0.000000e+00 0.161689731
## 317 215 5 6 8.873663e-05 0.192291035
## 318 216 1 4 0.000000e+00 0.191958495
## 319 27 7 4 5.642092e-05 0.175771971
## 320 217 3 3 0.000000e+00 0.191627104
## 321 34 7 2 3.223866e-06 0.161866569
## 322 34 7 5 8.752388e-04 0.189500640
## 323 218 2 3 0.000000e+00 0.176050753
## 324 219 2 4 1.069884e-05 0.188375053
## 325 220 8 2 0.000000e+00 0.188135593
## 326 221 8 3 0.000000e+00 0.191461837
## 327 222 8 1 0.000000e+00 0.162816282
## 328 223 7 1 0.000000e+00 0.161689731
## 329 224 1 9 5.630786e-05 0.192041522
## 330 2 6 3 7.858756e-04 0.188215345
## 331 225 1 6 1.271023e-06 0.188055909
## 332 19 6 1 0.000000e+00 0.158911954
## 333 226 8 2 1.819547e-05 0.187976291
## 334 227 3 2 0.000000e+00 0.169400992
## 335 228 2 6 3.508836e-05 0.189258312
## 336 229 2 12 2.630565e-04 0.194225722
## 337 7 6 4 1.347255e-03 0.188375053
## 338 230 1 4 0.000000e+00 0.188295165
## 339 231 2 2 0.000000e+00 0.188455008
## 340 35 1 3 2.514451e-04 0.187976291
## 341 232 5 11 2.492494e-04 0.179684338
## 342 33 1 4 7.466899e-04 0.188135593
## 343 35 1 2 0.000000e+00 0.187896741
## 344 7 6 2 1.122599e-03 0.187896741
## 345 233 7 3 0.000000e+00 0.188375053
## 346 31 1 3 9.418734e-04 0.187976291
## 347 36 2 5 7.612775e-04 0.192875760
## 348 234 2 1 0.000000e+00 0.164688427
## 349 235 2 1 0.000000e+00 0.164688427
## 350 236 8 6 5.820118e-05 0.189662537
## 351 237 3 6 4.412943e-05 0.176962933
## 352 238 5 1 0.000000e+00 0.164444444
## 353 36 4 2 1.992894e-06 0.166043381
## 354 239 4 3 0.000000e+00 0.191544435
## 355 240 1 4 0.000000e+00 0.187817259
## 356 241 1 5 4.248942e-06 0.188455008
## 357 242 2 2 5.191504e-05 0.187976291
## 358 243 3 2 0.000000e+00 0.188695283
## 359 244 4 1 0.000000e+00 0.160346696
## 360 245 2 4 6.108170e-05 0.188615123
## 361 20 8 21 1.206649e-03 0.175841584
## 362 246 1 1 0.000000e+00 0.187737844
## 363 247 1 1 0.000000e+00 0.187737844
## 364 248 1 1 0.000000e+00 0.187737844
## 365 249 1 1 0.000000e+00 0.187737844
## 366 250 1 2 0.000000e+00 0.187737844
## 367 251 1 1 0.000000e+00 0.187737844
## 368 252 1 1 0.000000e+00 0.187737844
## 369 253 1 1 0.000000e+00 0.187737844
## 370 254 4 1 0.000000e+00 0.161866569
## 371 255 1 1 0.000000e+00 0.187737844
## 372 256 1 1 0.000000e+00 0.187737844
## 373 257 1 1 0.000000e+00 0.187737844
## 374 258 1 1 0.000000e+00 0.187737844
## 375 259 1 1 0.000000e+00 0.187737844
## 376 260 1 3 0.000000e+00 0.191296855
## 377 261 2 2 0.000000e+00 0.191296855
## 378 262 2 2 0.000000e+00 0.191296855
## 379 263 2 2 0.000000e+00 0.191296855
## 380 264 1 1 0.000000e+00 0.187737844
## 381 265 1 1 0.000000e+00 0.187737844
## 382 266 2 2 0.000000e+00 0.191296855
## 383 267 1 1 0.000000e+00 0.187737844
## 384 268 1 1 0.000000e+00 0.187737844
## 385 269 1 1 0.000000e+00 0.187737844
## 386 270 1 1 0.000000e+00 0.187737844
## 387 271 1 1 0.000000e+00 0.187737844
## 388 272 2 2 0.000000e+00 0.191296855
## 389 273 1 1 0.000000e+00 0.187737844
## 390 274 1 1 0.000000e+00 0.187737844
## 391 275 1 1 0.000000e+00 0.187737844
## 392 276 1 1 0.000000e+00 0.187737844
## 393 277 1 1 0.000000e+00 0.187737844
## 394 278 1 1 0.000000e+00 0.187737844
## 395 279 1 1 0.000000e+00 0.187737844
## 396 280 1 1 0.000000e+00 0.187737844
## 397 281 1 3 0.000000e+00 0.191296855
## 398 282 1 1 0.000000e+00 0.187737844
## 399 283 2 2 0.000000e+00 0.191296855
## 400 284 1 1 0.000000e+00 0.187737844
## 401 285 1 1 0.000000e+00 0.187737844
## 402 286 1 1 0.000000e+00 0.187737844
## 403 287 2 2 0.000000e+00 0.191296855
## 404 288 1 1 0.000000e+00 0.187737844
## 405 289 1 1 0.000000e+00 0.187737844
## 406 290 1 3 0.000000e+00 0.191296855
## 407 291 1 1 0.000000e+00 0.187737844
## 408 292 1 1 0.000000e+00 0.187737844
## 409 293 2 2 0.000000e+00 0.191296855
## 410 294 2 3 0.000000e+00 0.191296855
## 411 295 1 1 0.000000e+00 0.187737844
## 412 296 1 1 0.000000e+00 0.187737844
## 413 297 1 2 0.000000e+00 0.187737844
## 414 298 1 1 0.000000e+00 0.187737844
## 415 299 1 2 0.000000e+00 0.187737844
## 416 300 2 1 0.000000e+00 0.175217048
## 417 301 2 1 0.000000e+00 0.175217048
## 418 302 2 1 0.000000e+00 0.175217048
## 419 303 2 1 0.000000e+00 0.175217048
## 420 304 2 1 0.000000e+00 0.175217048
## 421 305 2 1 0.000000e+00 0.175217048
## 422 306 3 4 6.389261e-06 0.166416792
## 423 307 2 1 0.000000e+00 0.175217048
## 424 308 1 1 0.000000e+00 0.187737844
## 425 309 1 1 0.000000e+00 0.187737844
## 426 310 1 1 0.000000e+00 0.187737844
## 427 311 1 1 0.000000e+00 0.187737844
## 428 312 1 1 0.000000e+00 0.187737844
## 429 313 1 1 0.000000e+00 0.187737844
## 430 314 1 1 0.000000e+00 0.187737844
## 431 315 1 1 0.000000e+00 0.187737844
## 432 1 3 43 4.114279e-03 0.183698800
## 433 316 2 2 0.000000e+00 0.175217048
## 434 317 3 3 1.626206e-06 0.176610979
## 435 318 2 1 0.000000e+00 0.175217048
## 436 319 2 1 0.000000e+00 0.175217048
## 437 320 7 2 0.000000e+00 0.162340037
## 438 321 7 2 9.470854e-06 0.175702414
## 439 322 1 2 0.000000e+00 0.162399415
## 440 323 1 1 0.000000e+00 0.187737844
## 441 324 9 0 0.000000e+00 0.002247191
## 442 325 10 0 0.000000e+00 0.002247191
## 443 326 11 0 0.000000e+00 0.002247191
## 444 1 1 581 7.142161e-01 0.230649351
## 445 1 2 332 1.850191e-01 0.212034384
keyego <- data.frame(
dltl_stats_ego %>%
arrange(-degree_c)%>%
select(uid),
dltl_stats_ego %>%
arrange(-betweenness_c)%>%
select(uid),
dltl_stats_ego %>%
arrange(-closeness_c)%>%
select(uid))%>%
setNames(c("degree","betweenness","closeness"))
keyego[]
## degree betweenness closeness
## 1 444 444 444
## 2 445 445 445
## 3 11 19 44
## 4 44 44 11
## 5 30 115 30
## 6 19 310 7
## 7 60 234 19
## 8 68 61 24
## 9 7 30 36
## 10 24 116 60
## 11 1 7 1
## 12 61 60 116
## 13 36 11 61
## 14 64 1 29
## 15 432 29 54
## 16 49 243 58
## 17 54 223 15
## 18 34 150 49
## 19 58 192 67
## 20 223 54 6
## 21 234 109 34
## 22 63 49 68
## 23 198 88 223
## 24 13 36 100
## 25 29 27 92
## 26 41 24 62
## 27 53 67 137
## 28 116 59 64
## 29 26 41 26
## 30 35 35 198
## 31 5 103 17
## 32 6 5 59
## 33 62 176 50
## 34 92 300 14
## 35 8 10 5
## 36 15 64 8
## 37 27 69 10
## 38 50 248 195
## 39 67 247 88
## 40 88 95 63
## 41 137 84 83
## 42 219 110 202
## 43 310 295 226
## 44 100 245 336
## 45 98 120 13
## 46 115 261 22
## 47 14 284 39
## 48 136 171 300
## 49 12 68 18
## 50 17 432 87
## 51 56 6 155
## 52 128 249 201
## 53 22 92 136
## 54 33 137 27
## 55 109 219 35
## 56 193 13 121
## 57 201 167 142
## 58 59 83 193
## 59 104 278 9
## 60 144 155 51
## 61 361 87 185
## 62 10 217 199
## 63 18 154 91
## 64 42 100 101
## 65 51 301 147
## 66 107 72 184
## 67 39 15 115
## 68 91 173 163
## 69 155 26 66
## 70 161 94 75
## 71 192 53 301
## 72 52 184 96
## 73 205 147 176
## 74 4 22 347
## 75 74 141 69
## 76 207 279 85
## 77 32 128 98
## 78 158 63 99
## 79 177 101 103
## 80 226 337 157
## 81 300 129 211
## 82 9 361 219
## 83 83 158 154
## 84 103 71 234
## 85 129 136 247
## 86 142 344 249
## 87 167 157 310
## 88 176 34 77
## 89 185 8 212
## 90 199 78 278
## 91 301 58 303
## 92 71 91 82
## 93 147 50 102
## 94 202 85 128
## 95 217 104 138
## 96 25 205 317
## 97 87 346 71
## 98 96 239 109
## 99 101 322 276
## 100 163 185 281
## 101 183 178 161
## 102 184 307 192
## 103 195 330 329
## 104 203 74 166
## 105 212 347 318
## 106 249 342 33
## 107 279 160 162
## 108 336 198 179
## 109 37 123 235
## 110 46 33 94
## 111 57 183 298
## 112 77 201 4
## 113 114 56 190
## 114 121 197 232
## 115 157 17 250
## 116 341 221 258
## 117 69 133 320
## 118 75 152 354
## 119 113 119 146
## 120 154 18 221
## 121 182 52 326
## 122 211 107 279
## 123 221 177 376
## 124 38 32 377
## 125 81 265 378
## 126 133 46 379
## 127 138 96 382
## 128 170 42 388
## 129 173 75 397
## 130 248 39 399
## 131 268 62 403
## 132 329 193 406
## 133 43 98 409
## 134 66 12 410
## 135 148 207 107
## 136 165 211 144
## 137 172 226 165
## 138 178 161 38
## 139 243 199 203
## 140 247 203 248
## 141 281 14 167
## 142 308 336 217
## 143 2 218 158
## 144 80 340 205
## 145 82 165 129
## 146 85 341 133
## 147 94 142 81
## 148 95 170 308
## 149 119 25 113
## 150 162 271 173
## 151 171 258 32
## 152 197 4 105
## 153 208 251 243
## 154 216 179 350
## 155 231 81 172
## 156 303 144 322
## 157 3 200 194
## 158 23 51 196
## 159 48 113 218
## 160 72 37 25
## 161 78 77 45
## 162 99 82 57
## 163 102 268 335
## 164 106 166 72
## 165 117 121 78
## 166 118 3 170
## 167 132 289 48
## 168 143 194 200
## 169 166 306 143
## 170 179 134 152
## 171 194 250 178
## 172 246 138 131
## 173 277 55 246
## 174 285 195 257
## 175 307 99 112
## 176 317 172 70
## 177 331 66 110
## 178 335 38 267
## 179 350 105 256
## 180 351 114 259
## 181 47 48 358
## 182 76 212 76
## 183 84 2 120
## 184 97 208 171
## 185 105 231 302
## 186 112 317 314
## 187 123 182 360
## 188 131 57 65
## 189 141 112 141
## 190 152 202 188
## 191 159 281 251
## 192 169 262 265
## 193 175 163 124
## 194 190 259 126
## 195 196 216 127
## 196 200 257 139
## 197 215 308 169
## 198 218 9 245
## 199 251 80 339
## 200 256 190 356
## 201 258 360 90
## 202 266 303 95
## 203 275 350 239
## 204 276 319 242
## 205 278 329 324
## 206 295 118 337
## 207 302 357 345
## 208 322 266 236
## 209 347 97 240
## 210 356 351 241
## 211 55 209 252
## 212 70 235 253
## 213 79 256 280
## 214 90 70 305
## 215 108 146 338
## 216 110 43 214
## 217 139 148 330
## 218 150 287 150
## 219 188 132 160
## 220 191 45 206
## 221 235 162 271
## 222 242 335 295
## 223 250 191 325
## 224 257 117 342
## 225 262 122 331
## 226 265 159 189
## 227 271 230 204
## 228 273 151 292
## 229 287 93 299
## 230 306 135 333
## 231 318 145 340
## 232 319 139 346
## 233 324 131 357
## 234 337 333 134
## 235 338 196 181
## 236 342 232 187
## 237 355 47 255
## 238 360 106 261
## 239 422 16 284
## 240 16 264 297
## 241 20 215 343
## 242 45 79 344
## 243 65 175 186
## 244 93 285 304
## 245 120 288 355
## 246 122 324 362
## 247 126 273 363
## 248 140 246 364
## 249 146 438 365
## 250 153 23 366
## 251 156 76 367
## 252 160 293 368
## 253 181 153 369
## 254 187 20 371
## 255 189 422 372
## 256 206 189 373
## 257 209 356 374
## 258 230 277 375
## 259 232 174 380
## 260 236 108 381
## 261 239 321 383
## 262 241 156 384
## 263 245 286 385
## 264 252 90 386
## 265 253 269 387
## 266 259 140 389
## 267 269 73 390
## 268 280 302 391
## 269 289 353 392
## 270 293 21 393
## 271 298 275 394
## 272 320 434 395
## 273 323 254 396
## 274 326 331 398
## 275 330 143 400
## 276 340 187 401
## 277 345 252 402
## 278 346 28 404
## 279 354 31 405
## 280 376 40 407
## 281 397 65 408
## 282 406 86 411
## 283 410 89 412
## 284 434 102 413
## 285 21 111 414
## 286 73 124 415
## 287 124 125 424
## 288 127 126 425
## 289 134 127 426
## 290 135 130 427
## 291 145 149 428
## 292 151 164 429
## 293 168 168 430
## 294 174 169 431
## 295 186 180 440
## 296 204 181 53
## 297 210 186 432
## 298 214 188 207
## 299 222 204 104
## 300 224 206 56
## 301 227 210 177
## 302 228 213 12
## 303 238 214 52
## 304 240 220 114
## 305 254 222 183
## 306 255 224 46
## 307 261 225 341
## 308 264 227 74
## 309 267 228 197
## 310 270 229 41
## 311 272 233 148
## 312 284 236 275
## 313 286 237 277
## 314 288 238 228
## 315 292 240 47
## 316 297 241 215
## 317 299 242 351
## 318 304 244 159
## 319 305 253 434
## 320 314 255 97
## 321 315 260 293
## 322 321 263 262
## 323 325 267 323
## 324 333 270 307
## 325 334 272 209
## 326 339 274 361
## 327 343 276 319
## 328 344 280 438
## 329 353 282 55
## 330 357 283 264
## 331 358 290 210
## 332 366 291 416
## 333 377 292 417
## 334 378 294 418
## 335 379 296 419
## 336 382 297 420
## 337 388 298 421
## 338 399 299 423
## 339 403 304 433
## 340 409 305 435
## 341 413 309 436
## 342 415 311 42
## 343 433 312 80
## 344 437 313 268
## 345 438 314 37
## 346 439 315 182
## 347 28 316 2
## 348 31 318 106
## 349 40 320 3
## 350 86 323 117
## 351 89 325 132
## 352 111 326 231
## 353 125 327 43
## 354 130 328 23
## 355 149 332 208
## 356 164 334 216
## 357 180 338 119
## 358 213 339 156
## 359 220 343 334
## 360 225 345 287
## 361 229 348 191
## 362 233 349 108
## 363 237 352 285
## 364 244 354 273
## 365 260 355 123
## 366 263 358 274
## 367 274 359 224
## 368 282 362 269
## 369 283 363 16
## 370 290 364 118
## 371 291 365 175
## 372 294 366 20
## 373 296 367 122
## 374 309 368 21
## 375 311 369 84
## 376 312 370 422
## 377 313 371 220
## 378 316 372 222
## 379 327 373 225
## 380 328 374 227
## 381 332 375 353
## 382 348 376 306
## 383 349 377 213
## 384 352 378 79
## 385 359 379 125
## 386 362 380 130
## 387 363 381 348
## 388 364 382 349
## 389 365 383 31
## 390 367 384 266
## 391 368 385 145
## 392 369 386 309
## 393 370 387 93
## 394 371 388 352
## 395 372 389 73
## 396 373 390 289
## 397 374 391 272
## 398 375 392 153
## 399 380 393 28
## 400 381 394 89
## 401 383 395 327
## 402 384 396 174
## 403 385 397 288
## 404 386 398 439
## 405 387 399 437
## 406 389 400 270
## 407 390 401 286
## 408 391 402 290
## 409 392 403 291
## 410 393 404 315
## 411 394 405 254
## 412 395 406 164
## 413 396 407 321
## 414 398 408 370
## 415 400 409 140
## 416 401 410 168
## 417 402 411 230
## 418 404 412 233
## 419 405 413 237
## 420 407 414 238
## 421 408 415 244
## 422 411 416 311
## 423 412 417 312
## 424 414 418 313
## 425 416 419 316
## 426 417 420 328
## 427 418 421 229
## 428 419 423 135
## 429 420 424 359
## 430 421 425 151
## 431 423 426 282
## 432 424 427 111
## 433 425 428 294
## 434 426 429 332
## 435 427 430 263
## 436 428 431 180
## 437 429 433 149
## 438 430 435 296
## 439 431 436 260
## 440 435 437 283
## 441 436 439 40
## 442 440 440 86
## 443 441 441 441
## 444 442 442 442
## 445 443 443 443
Which two actors have the highest betweenness and what is unique about their role in the course?
Do these same two actors also have the highest closeness? How might you interpret that?
Again, we’ve only scratched the surface of the vast number of centrality meaures available in the {igraph} and {tidygraph} packages. Feel free to explore other functions to calculate node and edge centrality in these two packages.
As highlighted in Chapter 3 of Data Science in Education Using R, the Model step of the data science process entails “using statistical models, from simple to complex, to understand trends and patterns in the data.” The authors note that while descriptive statistics and data visualization during the Explore step can help us to identify patterns and relationships in our data, statistical models can be used to help us determine if relationships, patterns and trends are actually meaningful.
We will not explore the use of models for SNA until Unit 3, but recall from A Social Network Perspective in MOOC-Eds was guided by the following questions:
What are the patterns of peer interaction and the structure of peer networks that emerge over the course of a MOOC-Ed?
To what extent do participant and network attributes (e.g., homophily, reciprocity, transitivity) account for the structure of these networks?
To what extent do these networks result in the co-construction of new knowledge?
To address Question 1, actors in the network were categorized into distinct mutually exclusive groups using the core-periphery and regular equivalence functions of UCINET. The former used the CORR algorithm to divide the network into actors that are part of a densely connected subgroup, or “core,” from those that are part of the sparsely connected periphery. Regular equivalence employs the REGE blockmodeling algorithm to partition, or group, actors in the network based on the similarity of their ties to others with similar ties. In essence, blockmodeling provides a systematic way for categorizing educators based on the ways in which they interacted with peers.
As we saw upon just a basic visual inspection of our network during the Explore section, there was a small core of highly connected participants surrounded by those on the “periphery,” or edge, of the network with very few connections. In the DLT 2 course, those on the periphery made up roughly 90% of network! The study also found relatively high levels of reciprocation, but also found that roughly a quarter of participants were characterized as “brodcasters” – educators who initiated a discussion thread, but neither reciprocated with those who replied, nor posted to threads initiated by others.
To address Question 2, this study use the exponential family of random graph models (ERGM; also known as p* models), which provide a statistical approach to network modeling that addresses the complex dependencies within networks. ERGMs predict network ties and determine the statistical likelihood of a given network structure, based on an assumed dependency structure, the attributes of the individuals (e.g., gender, popularity, location, previous ties) and prior states of the network.
Recall that network analyses to identify groups, positions, and central actors are a means to an end rather than an end in itself (Carolan 2014). One primary goal of gathering data about a network’s groups, positions, and central actors – a goal which we’ll explore more deeply in later units – is test whether there is a relationship between these measures and educational outcomes of interest. That was ultimately the aim of the research article guiding this study, but sadly got neglected.
Thinking about the node and group level analyses we’ve conducted so far, and what you know about this educational context so far, write a research question or hypothesis you would like to test that would examine whether there is a relationship between these group or node-level measures and educational outcomes appropriate for this MOOC-Ed.
For your final Your Turn, your goal is to distill our analysis from above into a simple “data product” designed to illustrate key findings about changes in the collaboration network over time. For the purposes of this task, imagine that your audience consists of the developers and facilitators of the DLT MOOC-Eds who have limited background in SNA and adapt the following steps accordingly:
Select. Select a group and/or node-level analysis from above, or a new analysis if so motivated, that you think would be interesting or relevant for the target audience and that helps answer our research questions.
Polish. Create and polish a data visualization and/or data table to communicate your selected findings.
Narrate. Write a brief narrative (2-3 paragraphs) to accompany your visualization and/or table that includes the following:
The question or questions guiding the analysis;
The conclusions you’ve reached based on our findings;
How your audience might use this information;
How you might revisit or improve upon this analysis in the future.
Use the code chunk below create a polished table and/or visualization(s) and write a brief narrative in the space that follows.
dlt1_network |>
activate(nodes) |>
filter(region == 'South')|>
mutate(degree=centrality_degree()) |>
filter(degree>0)|>
activate(edges) |>
mutate(betweenness = centrality_edge_betweenness()) |>
ggraph(layout = "stress") +
geom_edge_link0(aes(edge_alpha = betweenness), edge_color = "grey66") +
geom_node_point(aes(size = degree, shape = experience2, color = group)) +
scale_edge_width_continuous(range = c(0.2, 10)) +
scale_size_continuous(range = c(1, 8)) +
ggtitle( "MOOC-Ed Southern Region Participants" ) +
theme( legend.key = element_rect( fill = "white", colour = "black" ),
legend.title = element_text(face = "bold" )) +
guides(color =FALSE)+
theme_graph() +
theme(legend.position = "right", legend.text = element_text(size = 6, colour = "black"))
To be connected to others matters. To be able to share and learn from each other matters. Carolan( 2014) explains, “Teachers who share best practices with others expand their own teaching repertoires.” We explored the Southern region participants of a MOOC-Ed discussion through the visualization above.
Asking whether years of experience make a difference in a discussion forum? What ways are the participants connected?
What we found was that the blue group seemed to have higher centrality degree and betweenness. The localized degree measurement captures many actors in the blue group with more years of experience are higher connected to other actors regardless of how those other actors are related to each other.
We also looked at the gatekeeper function, and those same actors with the highest degree also had a higher betweenness score.
Using this type of analysis, the facilitator could reach out to those with high betweenness and closeness degrees to spread information and ideas to the rest of the group.
To improve this analysis, I would first look at the closeness degree and include it as an edge color. Next, I would like to explore each group separately. I would be able to analyze each network and the actors’ brokerage to find out if there are any consultants.
Congratulations - you’ve completed the Unit 3 case study! To share your work, click the drop down arrow next to the ball of yarn that says “Knit” at the top of this markdown file, then select “Knit top HTML.” Assuming your code contains no errors, this will create a web page in your Files pane that serves as a record of your work.
Once your file has been knitted, you can publish this file online using RPubs, or share the HTML file through another means.