# Download the karate dataset from the URL provided
LI_edgelist <- read.csv("Connections real.csv")
LI_edgelist[50,8] <- 1
LI_edgelist$Full.Name <- paste(LI_edgelist$First.Name, LI_edgelist$Last.Name)
LI_clean <- LI_edgelist |>na.omit(LI_edgelist)
LI_OUTPUT <- LI_clean |> dplyr::select(my.name, Full.Name, weight, Company, Connected.On)|>
dplyr::rename(CLASSMATE_NAME = my.name, CONNECTION_NAME = Full.Name, WEIGHT = weight, COMPANY_NAME = Company,DATE_CONNECTED = Connected.On)
LI_OUTPUT$DATE_CONNECTED <- as.Date(LI_OUTPUT$DATE_CONNECTED, "%m/%d/%Y")
write.csv(LI_OUTPUT, file="LI_OUTPUT_ANNESIMONSEN.csv", row.names = FALSE)
LI_graph <- igraph::graph_from_data_frame(
LI_OUTPUT,
directed = FALSE
)
LI_graph
## IGRAPH 25e5083 UN-- 50 49 --
## + attr: name (v/c), WEIGHT (e/n), COMPANY_NAME (e/c), DATE_CONNECTED
## | (e/n)
## + edges from 25e5083 (vertex names):
## [1] Anne Simonsen--Lynsey Mella Anne Simonsen--Nate Akers
## [3] Anne Simonsen--Parker Robbins Anne Simonsen--Tansy Hale
## [5] Anne Simonsen--Katie George Anne Simonsen--Cameron Archibald
## [7] Anne Simonsen--Ryan Parco Anne Simonsen--Bruce Hansen
## [9] Anne Simonsen--Mark Ball Anne Simonsen--Nicole Earnshaw
## [11] Anne Simonsen--Lance Bunch Anne Simonsen--J.J. Litster
## [13] Anne Simonsen--Gina Maret Anne Simonsen--Alexis Norden
## + ... omitted several edges
library(igraph)
##
## Attaching package: 'igraph'
## The following objects are masked from 'package:stats':
##
## decompose, spectrum
## The following object is masked from 'package:base':
##
## union
V(LI_graph)
## + 50/50 vertices, named, from 25e5083:
## [1] Anne Simonsen Lynsey Mella Nate Akers
## [4] Parker Robbins Tansy Hale Katie George
## [7] Cameron Archibald Ryan Parco Bruce Hansen
## [10] Mark Ball Nicole Earnshaw Lance Bunch
## [13] J.J. Litster Gina Maret Alexis Norden
## [16] Becca Bettinger Sarah Bowen Seth Doyle
## [19] Jonathan Staheli Annie Gold Ella Wright
## [22] Mackinzie Hamilton Annabelle Peterson Evan White
## [25] Adam Nissen Emily Clinger Jaxson Myers
## [28] Grant Baldwin Jacob White Michaela Udlock
## + ... omitted several vertices
length(V(LI_graph))
## [1] 50
nrow(LI_clean)
## [1] 49
E(LI_graph)
## + 49/49 edges from 25e5083 (vertex names):
## [1] Anne Simonsen--Lynsey Mella Anne Simonsen--Nate Akers
## [3] Anne Simonsen--Parker Robbins Anne Simonsen--Tansy Hale
## [5] Anne Simonsen--Katie George Anne Simonsen--Cameron Archibald
## [7] Anne Simonsen--Ryan Parco Anne Simonsen--Bruce Hansen
## [9] Anne Simonsen--Mark Ball Anne Simonsen--Nicole Earnshaw
## [11] Anne Simonsen--Lance Bunch Anne Simonsen--J.J. Litster
## [13] Anne Simonsen--Gina Maret Anne Simonsen--Alexis Norden
## [15] Anne Simonsen--Becca Bettinger Anne Simonsen--Sarah Bowen
## [17] Anne Simonsen--Seth Doyle Anne Simonsen--Jonathan Staheli
## [19] Anne Simonsen--Annie Gold Anne Simonsen--Ella Wright
## + ... omitted several edges
E(LI_graph)$date <- LI_clean$Connected.On
E(LI_graph)$weight <- LI_clean$weight
V(LI_graph)$company <- LI_clean$Company
## Warning in vattrs[[name]][index] <- value: number of items to replace is not a
## multiple of replacement length
plot(LI_graph)

V(LI_graph)$label <- ifelse(V(LI_graph)$name %in% c('Anne Simonsen'),
V(LI_graph)$name,
"")
plot(LI_graph)

set.seed(123)
LI_graph$layout <- igraph::layout_with_kk(LI_graph)
plot(LI_graph)

V(LI_graph)$size <- 5
plot(LI_graph)
library(ggraph)
## Loading required package: ggplot2

set.seed(123)
ggraph(LI_graph, layout = "kk") +
geom_edge_link(color = "grey") +
geom_node_point(size = 3) +
theme_void()
## Warning: Using the `size` aesthetic in this geom was deprecated in ggplot2 3.4.0.
## ℹ Please use `linewidth` in the `default_aes` field and elsewhere instead.

V(LI_graph)$group <- ifelse(V(LI_graph)$name %in% c("Anne Simonsen"), 1, 0)
library(networkD3)
LI_d3 <- networkD3::igraph_to_networkD3(LI_graph,
group = V(LI_graph)$group)
networkD3::forceNetwork(Links = LI_d3$links,
Nodes = LI_d3$nodes,
NodeID = "name",
Source = "source",
Target = "target",
Group = "group",
opacity = 1)