-
Notifications
You must be signed in to change notification settings - Fork 1
/
Day 8 centralities.R
67 lines (54 loc) · 1.92 KB
/
Day 8 centralities.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#library list
library(sna)
library(network)
library(ggplot2)
library(dplyr)
library(ggnetwork)
#The Road...
#produce a network
R<-network(roads, directed = FALSE, matrix.type = "edgelist")
#node attributes
set.vertex.attribute(R, "between", betweenness(R))
set.vertex.attribute(R, "close", closeness(R))
set.vertex.attribute(R, "count", degree(R))
#about that edge
set.edge.attribute(R, "where", roads$WHERE)
#eigenvector based layourt using the strong assumptions, you can switch to weak if you want
K<-ggnetwork(R, layout = "eigen", "symstrong")
#area is size, cool controls Simulated Annealing - bigger numbers bigger crystals
P<-ggnetwork(R, layout = "fruchtermanreingold", area = 100, cool=2)
#a physical simulation of a spring process - kilograms per newton meter
#mass is in KG - heavy like bowling balls
#equi is when springs and mass balance
#repe
#kfr is friction - I have it turned down....
#repulsive forces are turned on...
P<-ggnetwork(R, layout = "spring", mass=5, equil=.1, repeqdis=1, kfr = .001, repulse=TRUE)
#highway plots
ggplot(K, aes(x, y, xend = xend, yend = yend)) +
geom_edges(aes(colour=where)) +
geom_nodes(aes(size = between, alpha = 1/count)) +
geom_nodetext_repel(aes(label = vertex.names))+
theme_blank() +
theme(legend.position = "bottom")
#overall centralization
centralization(R, betweenness)
#lets make a table
highway_data<-data.frame(
road=get.vertex.attribute(R, "vertex.names"),
degree=degree(R, cmode="indegree"),
between=betweenness(R),
close=closeness(R),
#eigenvector prestige, degree to which nominated
prestige=prestige(R, cmode = "eigenvector", rescale=TRUE),
#prestige by proximity weighted domain prestige
prestige2=prestige(R, cmode = "domain.proximity", rescale=TRUE),
#measure like bonacich power centrality
information=infocent(R),
bonpow=bonpow(R),
eigenvector=evcent(R),
load=loadcent(R)
)
cutpoints(R)
maxflow(R)
#let's do it again but with Parks and Rec