Introduction This independent analysis seeks to explore, visualize and compare the nature of interaction between course participants that indicated Networking as one of their goals in the pre-course survey and those who did not. The rationale is based on a simple proposition that since degree centrality is set to measure the number of connections each node has in a network, then the highest count of out_degree measure should be expected from actors that indicated networking as part of their goals in the MOOC-Ed.
Dataset The dataset used for this independent analysis is from a MOOC-Ed called Planning for the Digital Learning Transition in K-12 Schools (DLT 2) which was offered in September 2013 by the Friday Institute (Kellogg et al.,2014)
Research Question The research questions guiding this analysis is: * How is the pattern of collaboration between pre-identified networkers compared to those who are not? * How are the collaboration ties between these two group vary by experience?
Installing Packages and Loading Libraries
#installing packages
install.packages("tidyverse")
install.packages("ggplot2")
install.packages("igraph")
install.packages("devtools")
devtools::install_github("ropensci/skimr")
library(tidyverse)
## ── Attaching packages ─────────────────────────────────────── tidyverse 1.3.1 ──
## ✓ ggplot2 3.3.5 ✓ purrr 0.3.4
## ✓ tibble 3.1.6 ✓ dplyr 1.0.8
## ✓ tidyr 1.2.0 ✓ stringr 1.4.0
## ✓ readr 2.1.2 ✓ forcats 0.5.1
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## x dplyr::filter() masks stats::filter()
## x dplyr::lag() masks stats::lag()
library(tidygraph)
##
## Attaching package: 'tidygraph'
## The following object is masked from 'package:stats':
##
## filter
library(igraph)
##
## Attaching package: 'igraph'
## The following object is masked from 'package:tidygraph':
##
## groups
## 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(ggraph)
library(janitor)
##
## Attaching package: 'janitor'
## The following objects are masked from 'package:stats':
##
## chisq.test, fisher.test
library(skimr)
library(ggplot2)
Edges and the attributes of interest:
# Reading edges into r and changing variable types to characters
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_ties
## # A tibble: 2,584 × 8
## sender reciever timestamp title parent description comment_id discussion_id
## <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr>
## 1 37 461 9/27/13 Greeti… Group… Please int… 3 1
## 2 434 434 9/27/13 Sherry… Group… Please int… 4 2
## 3 302 434 9/27/13 Sherry… Group… Please int… 5 3
## 4 60 434 9/27/13 Sherry… Group… Please int… 7 3
## 5 128 434 9/29/13 Sherry… Group… Please int… 38 3
## 6 158 434 9/30/13 Sherry… Group… Please int… 75 3
## 7 442 434 10/1/13 Sherry… Group… Please int… 193 3
## 8 43 245 9/27/13 Planni… Group… What would… 6 4
## 9 426 245 9/30/13 Planni… Group… What would… 146 4
## 10 142 245 10/1/13 Planni… Group… What would… 201 4
## # … with 2,574 more rows
#reading nodes into r and changing variable types to characters
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()
Creating the DLT2 network object
dlt2_network <- tbl_graph (edges = dlt2_ties,
nodes = dlt2_actors,
node_key = "uid",
directed = TRUE)
dlt2_network
## # A tbl_graph: 492 nodes and 2584 edges
## #
## # A directed multigraph with 69 components
## #
## # Node Data: 492 × 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 × 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
The DLT2 network has 64 components with 492 actors and 2584 edges.
Starting off the explore phase by getting an overall picture of the network and its components
autograph(dlt2_network)
Exploring Strong and Weak components and the number of actors they contain.
#exploring weak components
components(dlt2_network, mode = c("weak"))
## $membership
## [1] 1 2 2 2 3 2 2 2 4 2 2 2 2 2 5 6 2 2 2 2 2 2 2 2 7
## [26] 2 2 2 2 2 8 2 2 2 2 2 2 2 9 2 2 2 2 2 10 2 11 2 2 2
## [51] 2 2 2 2 2 2 2 12 2 2 2 2 2 2 13 2 2 2 2 2 2 2 2 2 2
## [76] 2 2 14 15 2 2 2 2 2 16 2 2 2 17 2 2 2 2 2 2 2 2 2 2 2
## [101] 2 2 2 18 19 2 2 2 2 2 2 2 20 2 21 2 2 2 2 2 2 2 2 2 2
## [126] 2 2 2 2 2 2 2 2 2 2 22 2 23 2 2 24 2 2 2 2 25 2 2 2 2
## [151] 2 2 2 2 2 2 2 2 2 2 2 2 26 2 27 2 2 2 2 2 2 2 2 2 28
## [176] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 29 2 30 31 2 2 2 2 2 2
## [201] 32 2 2 33 2 2 2 2 2 2 2 2 2 2 2 2 2 2 34 2 2 2 2 2 35
## [226] 2 2 36 2 2 2 2 2 2 2 2 2 37 2 2 2 2 38 2 2 2 39 40 41 2
## [251] 2 42 27 43 2 2 2 2 44 2 23 45 2 2 2 2 2 2 2 2 2 2 2 2 2
## [276] 46 2 2 2 2 2 2 2 2 2 2 2 2 2 47 2 2 2 48 49 2 2 2 2 2
## [301] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 50 2 2 2 2 51 2 2 2 2 52
## [326] 2 53 2 2 54 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [351] 2 55 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 56 2 2 2 2 2 2 2
## [376] 2 57 2 2 2 2 2 2 2 2 2 2 2 2 58 2 2 2 2 2 2 2 2 2 59
## [401] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 60 2 2 2 2 2 2 2
## [426] 2 2 2 2 2 2 2 2 2 2 2 2 61 62 2 2 2 63 64 2 2 2 2 2 2
## [451] 2 2 2 2 2 65 2 2 2 2 2 2 2 2 2 2 2 2 66 2 2 2 67 2 2
## [476] 68 2 2 2 2 2 2 2 2 2 2 69 2 2 2 2 2
##
## $csize
## [1] 1 422 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [20] 1 1 1 2 1 1 1 2 1 1 1 1 1 1 1 1 1 1 1
## [39] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [58] 1 1 1 1 1 1 1 1 1 1 1 1
##
## $no
## [1] 69
Interestingly, the network has a total of 69 components.One component has 422 members, one has two members and the rest of 67 components have one member each.
components(dlt2_network, mode = c("strong"))
## $membership
## [1] 245 244 154 241 153 154 154 216 152 154 154 230 242 154 151 150 154 154
## [19] 154 154 149 154 154 154 148 154 147 154 154 154 146 154 154 154 243 145
## [37] 143 154 142 154 154 195 154 154 141 154 140 154 239 169 154 154 154 167
## [55] 224 139 138 137 154 154 166 154 154 136 135 134 133 154 154 154 219 154
## [73] 132 154 128 127 154 126 125 208 124 154 154 154 123 122 121 154 120 154
## [91] 119 194 154 154 154 172 213 154 118 154 227 211 193 117 116 154 154 115
## [109] 171 154 154 154 114 154 113 165 154 214 154 112 110 154 234 154 154 154
## [127] 154 154 154 154 164 154 154 154 154 109 154 108 107 106 105 154 238 104
## [145] 103 102 154 154 154 154 101 154 100 99 154 220 154 154 98 154 154 202
## [163] 97 96 95 93 154 92 154 154 154 91 190 154 90 154 154 154 188 154
## [181] 154 89 154 131 154 154 154 154 154 154 88 154 87 86 154 154 154 154
## [199] 163 154 85 225 154 84 162 187 154 154 199 83 161 154 154 154 82 154
## [217] 154 154 81 240 232 80 154 154 79 154 154 78 154 77 160 76 154 75
## [235] 154 154 159 74 154 186 154 94 73 154 154 154 72 71 70 184 154 69
## [253] 95 68 154 185 154 67 66 154 65 64 154 154 154 154 154 154 229 154
## [271] 154 154 154 154 63 62 154 61 204 154 154 60 154 154 154 59 221 154
## [289] 58 57 183 154 233 56 55 154 54 154 53 228 154 154 154 154 52 217
## [307] 129 201 154 154 158 51 50 182 49 154 154 154 130 48 154 154 181 215
## [325] 47 154 46 154 154 45 154 154 154 180 154 154 154 157 44 154 154 154
## [343] 231 154 154 43 154 154 42 203 154 41 156 40 237 236 154 154 191 39
## [361] 154 154 38 37 36 196 154 35 154 189 154 154 154 154 154 168 34 154
## [379] 154 154 154 154 154 154 33 222 154 154 209 32 192 31 30 154 29 154
## [397] 212 154 200 28 154 27 154 26 154 25 154 24 154 155 154 154 154 111
## [415] 23 198 154 22 154 154 154 154 154 170 21 154 179 154 154 154 154 20
## [433] 154 226 178 154 154 19 18 154 210 17 16 15 154 14 154 177 207 13
## [451] 218 12 154 176 154 11 154 154 154 154 144 197 154 10 223 154 9 8
## [469] 7 205 154 6 5 154 235 4 154 175 154 154 154 3 154 154 154 154
## [487] 2 1 206 174 154 173
##
## $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 2 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 247 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 1 1 1 1 1
## [199] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [217] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [235] 1 1 1 1 1 1 1 1 1 1 1
##
## $no
## [1] 245
Basic plot of the network to explore the topology
plot(dlt2_network, vertex.color = "green", vertex.size =5, edge.color = "black", edge.arrow.size = 0.1, vertex.label=NA)
dlt2_network <- dlt2_network |>
activate(nodes) |>
mutate(strong_component = group_components(type = "strong"))
as_tibble(dlt2_network)
## # A tibble: 492 × 14
## 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
## 7 7 0 oper… 1 6 gener… RI North… US
## 8 8 0 curr… 2 12 middle ME North… US
## 9 9 0 other 2 11 gener… VA South US
## 10 10 0 inst… 3 21 gener… WV South US
## # … with 482 more rows, and 5 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>
dlt2_network |>
as_tibble() |>
group_by(strong_component) |>
summarise(count = n()) |>
arrange(desc(count))
## # A tibble: 245 × 2
## strong_component count
## <int> <int>
## 1 1 247
## 2 2 2
## 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 235 more rows
I decided to filter isolates and continue analysis with the strong components only.
dlt2_network |>
activate(nodes) |>
filter(strong_component == 1) |>
autograph()
dlt2_network |>
as_tibble() |>
group_by(strong_component) |>
summarise(count = n()) |>
arrange(desc(count))
## # A tibble: 245 × 2
## strong_component count
## <int> <int>
## 1 1 247
## 2 2 2
## 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 235 more rows
clique_num(dlt2_network)
## Warning in clique_num(dlt2_network): At cliques.c:1125 :directionality of edges
## is ignored for directed graphs
## [1] 8
cliques(dlt2_network, min = 8, max = NULL)
## Warning in cliques(dlt2_network, min = 8, max = NULL): At
## igraph_cliquer.c:57 :Edge directions are ignored for clique calculations
## [[1]]
## + 8/492 vertices, from ef8dcfd:
## [1] 23 125 158 183 229 302 361 477
##
## [[2]]
## + 8/492 vertices, from ef8dcfd:
## [1] 23 119 125 158 183 229 267 302
##
## [[3]]
## + 8/492 vertices, from ef8dcfd:
## [1] 23 125 158 229 267 302 361 419
##
## [[4]]
## + 8/492 vertices, from ef8dcfd:
## [1] 23 125 158 183 229 267 302 361
##
## [[5]]
## + 8/492 vertices, from ef8dcfd:
## [1] 23 125 158 183 302 361 422 477
##
## [[6]]
## + 8/492 vertices, from ef8dcfd:
## [1] 23 125 158 267 302 361 419 422
##
## [[7]]
## + 8/492 vertices, from ef8dcfd:
## [1] 23 125 158 183 186 267 361 422
##
## [[8]]
## + 8/492 vertices, from ef8dcfd:
## [1] 23 125 158 183 267 302 361 422
dlt2_network <- dlt2_network |>
morph(to_undirected) |>
activate(nodes) |>
mutate(sub_group = group_edge_betweenness()) |>
unmorph()
dlt2_network |>
as_tibble()
## # A tibble: 492 × 15
## 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
## 7 7 0 oper… 1 6 gener… RI North… US
## 8 8 0 curr… 2 12 middle ME North… US
## 9 9 0 other 2 11 gener… VA South US
## 10 10 0 inst… 3 21 gener… WV South US
## # … with 482 more rows, and 6 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>, sub_group <int>
dlt2_network |>
activate(nodes) |>
as_tibble() |>
group_by(sub_group) |>
summarise(count = n()) |>
arrange(desc(count))
## # A tibble: 406 × 2
## sub_group count
## <int> <int>
## 1 1 43
## 2 2 4
## 3 3 4
## 4 4 3
## 5 5 3
## 6 6 3
## 7 7 3
## 8 8 3
## 9 9 2
## 10 10 2
## # … with 396 more rows
Since the out_degree is a measure of interest in this study, the histogram showing the general distribution of out_degree is insightful.
dlt2_network <- dlt2_network |>
activate(nodes) |>
mutate(in_degree = centrality_degree(mode = "in"),
out_degree = centrality_degree(mode = "out"))
dlt2_network |>
as_tibble()
## # A tibble: 492 × 17
## 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
## 7 7 0 oper… 1 6 gener… RI North… US
## 8 8 0 curr… 2 12 middle ME North… US
## 9 9 0 other 2 11 gener… VA South US
## 10 10 0 inst… 3 21 gener… WV South US
## # … with 482 more rows, and 8 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>, sub_group <int>,
## # in_degree <dbl>, out_degree <dbl>
dlt2_network |>
as_tibble() |>
ggplot() +
geom_histogram(aes(x = out_degree))
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
dlt2_network |>
as_tibble() |>
skim()
| Name | as_tibble(dlt2_network) |
| Number of rows | 492 |
| Number of columns | 17 |
| _______________________ | |
| Column type frequency: | |
| character | 11 |
| 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 | 492 | 0 |
| facilitator | 0 | 1 | 1 | 1 | 0 | 2 | 0 |
| role | 0 | 1 | 5 | 18 | 0 | 13 | 0 |
| grades | 0 | 1 | 4 | 10 | 0 | 5 | 0 |
| location | 1 | 1 | 2 | 4 | 0 | 62 | 0 |
| region | 0 | 1 | 4 | 13 | 0 | 6 | 0 |
| country | 2 | 1 | 2 | 3 | 0 | 19 | 0 |
| group | 0 | 1 | 2 | 4 | 0 | 4 | 0 |
| gender | 0 | 1 | 4 | 6 | 0 | 2 | 0 |
| expert | 0 | 1 | 1 | 1 | 0 | 2 | 0 |
| connect | 0 | 1 | 1 | 1 | 0 | 2 | 0 |
Variable type: numeric
| skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
|---|---|---|---|---|---|---|---|---|---|---|
| experience2 | 0 | 1 | 1.93 | 0.78 | 1 | 1.00 | 2.0 | 3.00 | 3 | ▇▁▇▁▆ |
| experience | 0 | 1 | 15.73 | 11.05 | 0 | 8.00 | 15.0 | 22.00 | 120 | ▇▂▁▁▁ |
| strong_component | 0 | 1 | 61.75 | 78.89 | 1 | 1.00 | 1.0 | 122.25 | 245 | ▇▁▁▁▁ |
| sub_group | 0 | 1 | 169.45 | 129.86 | 1 | 37.75 | 160.5 | 283.25 | 406 | ▇▃▃▃▃ |
| in_degree | 0 | 1 | 5.25 | 20.98 | 0 | 0.00 | 1.0 | 5.00 | 430 | ▇▁▁▁▁ |
| out_degree | 0 | 1 | 5.25 | 11.99 | 0 | 0.00 | 1.0 | 6.00 | 166 | ▇▁▁▁▁ |
dlt2_network <- dlt2_network |>
activate(nodes) |>
mutate(in_degree = centrality_degree(mode = "in"),
out_degree = centrality_degree(mode = "out"))
dlt2_network |>
as_tibble()
## # A tibble: 492 × 17
## 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
## 7 7 0 oper… 1 6 gener… RI North… US
## 8 8 0 curr… 2 12 middle ME North… US
## 9 9 0 other 2 11 gener… VA South US
## 10 10 0 inst… 3 21 gener… WV South US
## # … with 482 more rows, and 8 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>, sub_group <int>,
## # in_degree <dbl>, out_degree <dbl>
dlt2_network <- dlt2_network |>
activate(nodes) |>
mutate(closeness = centrality_closeness(
weights = NULL,
mode = "out",
normalized = FALSE,
cutoff = NULL
))
## 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
dlt2_network |>
as_tibble()
## # A tibble: 492 × 18
## 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
## 7 7 0 oper… 1 6 gener… RI North… US
## 8 8 0 curr… 2 12 middle ME North… US
## 9 9 0 other 2 11 gener… VA South US
## 10 10 0 inst… 3 21 gener… WV South US
## # … with 482 more rows, and 9 more variables: group <chr>, gender <chr>,
## # expert <chr>, connect <chr>, strong_component <int>, sub_group <int>,
## # in_degree <dbl>, out_degree <dbl>, closeness <dbl>
dlt2_network |>
as_tibble() |>
ggplot(aes(x= out_degree, fill= facilitator, color=facilitator)) +
geom_histogram(binwidth=10000, position = "identity")+
labs(title="Participants with Collaboration Goals Vs Discussion Posts Sent",x="Discussion Posts Sent", y = "Count")+
facet_grid(. ~ connect)
The visualization shows the difference between participants who indicated that they were interested in networking and those who did not indicate. This is captured by the binary variable “connect” in the dataset. Based on th
dlt2_network |>
as_tibble() |>
ggplot(aes((V(dlt2_network)$experience), V(dlt2_network)$out_degree), fill = facilitator, color = facilitator) + geom_point(aes(size=out_degree), shape=18, color= "palevioletred4", alpha = 1/2)+
facet_grid(. ~ connect) +
labs(title="Out_Degree and Experience",
x="Experience", y = "out_degree")+
theme_minimal()
This visualization shows a snapshot of discussion forum posts by the two groups with a mapping of experience.
Discussions
The main aim of this analysis was to explore how MOOC-Ed participant’s collaboration goals can be reflected in the distribution of degree centrality measure of the MOOC-Ed network. The structure of this discussion will follow through the posed research questions.
Based on the performed analysis and visualization, it can be observed that participants who had indicated interest in connections had cumulatively lesser number of out_degree score compared to the participants who did not. The visualization reflects the distinction between facilitators and other participants in order to avoid confusion in case the ties of the two groups overlapped.
The second visualization shows the out_degree based on the experience and it can be interpreted that, participants with the highest scores are relatively more experienced compared to participants whose out_degree scores are below the mean, which is 5. I should also recall that the average years of experience in the DLT2 group is 15 years and the visualization highlights some prominent discussion posts and replies lie right past the mean mark.