# 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)