install.packages("igraph")
install.packages("statnet") #installs ergm, network, and sna
install.packages("snahelper")
install.packages("netUtils")
install.packages("ggraph")
install.packages("backbone")
install.packages("netrankr")
install.packages("signnet")
install.packages("intergraph")
install.packages("graphlayouts")
install.packages("visNetwork")
install.packages("patchwork")
install.packages("edgebundle")
install.packages("ggplot2")
install.packages("gganimate")
install.packages("ggforce")
install.packages("rsiena")
install.packages("remotes")
::install_github("schochastics/networkdata") remotes
Social Network Analysis
Worksheet 1: Introduction
R packages for network analysis
Throughout the course we will use a variety of different packages of doing network analysis, modeling and visualization. Make sure to install them all and have them ready to load when needed:
Load Packages
We will strat with loading the following packages:
library(igraph)
library(networkdata)
library(netUtils)
Exploring packages and functions
(Interactive Session)
Handling package conflicts
never load sna and igraph at the same time
library(sna)
data("flo_marriage")
degree(flo_marriage)
Error in FUN(X[[i]], ...): as.edgelist.sna input must be an adjacency matrix/array, edgelist matrix, network, or sparse matrix, or list thereof.
If for any reason you have to load both, you can circumvent the error by explicitly stating package first
::degree(flo_marriage) igraph
Acciaiuoli Albizzi Barbadori Bischeri Castellani Ginori
1 3 2 3 3 1
Guadagni Lamberteschi Medici Pazzi Peruzzi Pucci
4 1 6 1 3 0
Ridolfi Salviati Strozzi Tornabuoni
3 2 4 3
The package intergraph
can be used to transform an igraph
object into a network object and vice versa.
#install.packages("intergraph")
library(intergraph)
asNetwork(flo_marriage)
Network attributes:
vertices = 16
directed = FALSE
hyper = FALSE
loops = FALSE
multiple = FALSE
bipartite = FALSE
total edges= 20
missing edges= 0
non-missing edges= 20
Vertex attribute names:
vertex.names wealth X.priors X.ties
No edge attributes
degree(asNetwork(flo_marriage))
[1] 2 6 4 6 6 2 8 2 12 2 6 0 6 4 8 6
You can unload a package without restarting R/RStudio.
detach("package:sna", unload = TRUE)
Handling network data
Inbuilt network data
The networkdata
package includes around 1000 datsets and more than 2000 networks. Throughout the course will use several examples using data from this package. Spend some time exploring datasets in this package (you will be asked to choose and work on one of them for you empirical study).
data(package = "networkdata")
- Freeman’s datasets from http://moreno.ss.uci.edu/data (not available anymore)
- Movie networks from https://dataverse.harvard.edu/dataset.xhtml?persistentId=doi:10.7910/DVN/T4HBA3
- Covert networks from https://sites.google.com/site/ucinetsoftware/datasets/covert-networks
- Animal networks from https://bansallab.github.io/asnr/
- Shakespeare’s plays networks build with data from https://github.com/mallaham/Shakespeare-Plays
- Some networks from http://konect.uni-koblenz.de/
- Tennis networks compiled from https://github.com/JeffSackmann (please give credit to him if you use this data)
- Star Wars Character Interactions (Episode 1-7) from https://github.com/evelinag/StarWars-social-network