Loading and Summarizing Data
Loading: Similarly to the datasets I used for the
prior assignments, this one will involve the use of a conflict dataset.
Given the relative success of the analysis techniques on dyadic conflict
in the 9th, 10th, and 11th centuries I decided to try it on a much more
recent period, that being the height of the cold war beginning in 1945
and officially ending with the dissolution of the Soviet Union in 1992,
however the dataset in question ends in 1989.
Interpretation and Inital
Analysis
Initial Interpretation: After briefly cleaning the
dataset to remove excess spaces resulting in nations, or factions being
counted twice, I then converted my data in 4 different kinds of network
objects, being a matrix, edgelist graph, igraph, and network. A ggplot
object of the initial network can be seen below.
Continued Visualization
Visuals Though not necessarily practical for
understanding the nature of the network the two visualization below are
used to exhibit the increased complexity of this dataset relative to
prior ones, as in previous models of conflict there were under 200 nodes
(or factions) being visualized, as will be illustrated in subsequent
analysis there were about 600 nations, rebel groups, factions, and
warring parties considered direct belligerents in this dataset. It is
also important to note that this network does not include direct
military support that did did not constitute direct
involvement, this will later be included as a grouping dummy variable,
but in its current form military support that is not directly
intervention will not be considered.
set.seed(2)
ggraph(Wars_in_latter_half_of_20th_network, 'dendrogram', circular = TRUE) +
geom_edge_elbow() +
coord_fixed() +
geom_edge_link0(edge_alpha = 0.001)+
geom_node_text(aes(label = name), size=1, repel=FALSE)
ggraph(Wars_in_latter_half_of_20th_network, layout = "treemap") +
geom_node_tile(aes(fill = depth))+
geom_node_text(aes(label = name), size=1, repel=FALSE)
interpret the data, identifying at least two results of interest.
Questions you may want to consider include (but are not limited to) the
following. Calculate structural equivalence models for your network
data, and use clustering and blockmodeling to identify nodes in similar
positions. Can you find any patterns in the data, and do the blocks
“make sense.” What types of behavior would we expect to see (or do we
see) on the basis of equivalence and block assignment? Do different
clustering methods and/or the use of weights make a difference? How much
insight can you get from plotting the block role assignments. You may
also want to see if nodes that are equivalent (and/or belong to same
block) are similar on measures of centrality introduced in earlier
weeks.
Inital Analysis and
Interpretation
Network Summary: As can be seen by the network print
below the conflict dataset comprises 599 nodes, factions, or
belligerents that are direct combatants in each
conflict, these are directed with an in-degree being a lost war, and an
out-degree being a won war. There are loops as many factions fight each
other multiple times and amongst different sets of allies losing some
wars and winning others.
Network attributes:
vertices = 599
directed = TRUE
hyper = FALSE
loops = TRUE
multiple = TRUE
bipartite = FALSE
total edges= 1090
missing edges= 0
non-missing edges= 1090
Vertex attribute names:
vertex.names
Edge attribute names not shown
temp<-data.frame(brokerage(Wars_in_latter_half_of_20th_network, cl = Wars_in_latter_half_of_20th_network.nodes.stat$totdegree)$z.nli)
Wars_in_latter_half_of_20th_network.nodes.stat_2 <- Wars_in_latter_half_of_20th_network.nodes.stat %>%
mutate(broker.tot = temp$t,
broker.coord = temp$w_I,
broker.itin = temp$w_O,
broker.rep = temp$b_IO,
broker.gate = temp$b_OI,
broker.lia = temp$b_O)
Brokerage and Network
Attributes
Brokerage Scores: In this case brokerage scores are
calculated using the function brokerage() and appended to the data frame
with the these measures
Total Degree
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(totdegree))%>%
slice(1:10))[,c(1,2)] %>%kable()
United States |
63 |
Israel |
47 |
China |
47 |
Soviet Union |
39 |
France |
38 |
Philippines |
35 |
India |
34 |
United Kingdom |
31 |
North Korea |
30 |
Thailand |
27 |
In-Degree
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(indegree))%>%
slice(1:10))[,c(1,3)] %>%kable()
Soviet Union |
25 |
United States |
23 |
North Korea |
21 |
China |
20 |
Syria |
17 |
Cuba |
16 |
South Vietnam |
15 |
SLA |
13 |
Isreal |
13 |
Lebanese Front |
13 |
Out-Degree
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(outdegree))%>%
slice(1:10))[,c(1,4)] %>%kable()
Israel |
47 |
United States |
40 |
India |
32 |
France |
31 |
China |
27 |
Philippines |
27 |
Italy |
26 |
United Kingdom |
20 |
Iran |
19 |
North Vietnam |
19 |
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(broker.coord))%>%
slice(0:5))[,c(1,12)] %>%kable()
Khmer Issarak |
-0.0042969 |
South Africa |
-0.0042969 |
Khmer Rouge |
-0.0042969 |
PLO |
-0.0042969 |
Khmer Republic |
-0.0042969 |
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(broker.itin))%>%
slice(0:5))[,c(1,13)] %>%kable()
United States |
30.978006 |
Ethiopia |
20.451964 |
China |
13.215216 |
France |
11.241500 |
United Kingdom |
7.294199 |
PKK |
6.358704 |
South Yemen |
3.288637 |
Iran |
-0.044345 |
Israel |
-0.044345 |
Australia |
-0.044345 |
Morocco |
9.0531209 |
PUK |
4.1844336 |
Arab Socialist Ba’ath Party |
0.7091118 |
Senegal |
0.7091118 |
Papua New Guinea |
0.5196169 |
United States |
286.23524 |
China |
167.99725 |
Soviet Union |
110.36960 |
Philippines |
69.88732 |
United Kingdom |
67.23274 |
Examining Centrality
Mut Asym Null
[1,] 115 859 178127
003 012 102 021D 021U 021C 111D 111U 030T 030C 201
[1,] 35068530 545959 17760 3817 1904 1822 526 639 46 0 83
120D 120U 120C 210 300
[1,] 0 3 10 0 0
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(eigen))%>%
slice(0:5))[,c(1,5)] %>%kable()
China |
0.3435636 |
North Vietnam |
0.2973257 |
Pathet Lao |
0.2836275 |
Khmer Rouge |
0.2223014 |
Khmer Issarak |
0.2153606 |
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(close))%>%
slice(0:5))[,c(1,6)] %>%kable()
Israel |
0.1664994 |
United States |
0.1536232 |
China |
0.1497492 |
France |
0.1449833 |
Pathet Lao |
0.1380435 |
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(eigen.rc))%>%
slice(0:5))[,c(1,8)] %>%kable()
Ethiopia |
0.0801873 |
France |
0.0627097 |
South Africa |
0.0451530 |
United Kingdom |
0.0303952 |
United States |
0.0294664 |
(Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
arrange(desc(eigen.dc))%>%
slice(0:5))[,c(1,10)] %>%kable()
China |
0.3166654 |
North Vietnam |
0.2973257 |
Pathet Lao |
0.2836275 |
Khmer Rouge |
0.2223014 |
Khmer Issarak |
0.2153606 |
Wars_in_latter_half_of_20th_network.nodes.stat_2%>%
select(-name) %>%
gather() %>%
ggplot(aes(value)) +
geom_histogram() +
facet_wrap(~key, scales = "free")
wars_correlation_latter_half<-Wars_in_latter_half_of_20th_network.nodes.stat_2 %>%
select(totdegree,indegree,outdegree,eigen,eigen.rc,eigen.dc)%>%
correlate()
fashion(wars_correlation_latter_half)
term totdegree indegree outdegree eigen eigen.rc eigen.dc
1 totdegree .71 .87 .64 .55 .60
2 indegree .71 .28 .34 .45 .30
3 outdegree .87 .28 .64 .45 .62
4 eigen .64 .34 .64 .53 .99
5 eigen.rc .55 .45 .45 .53 .42
6 eigen.dc .60 .30 .62 .99 .42
rplot(wars_correlation_latter_half)
#net.js <- Wars_in_latter_half_of_20th.ig
#graph_attr(net.js, "layout") <- NULL
#gjs <- graphjs(net.js, main="Cold War Interactive Network", bg="gray10", #vertex.size=0.5, showLabels=T, vertex.label = V(net.js)$name, stroke=F, curvature=0.1, #attraction=0.9, repulsion=0.7, opacity=0.9)
#print(gjs)
#saveWidget(gjs, file="Media-Network-gjs.html")
#browseURL("Media-Network-gjs.html")
Reuse
Text and figures are licensed under Creative Commons Attribution CC BY-NC 4.0. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".
Citation
For attribution, please cite this work as
Milstein (2022, March 12). Data Analytics and Computational Social Science: Into the 20th Century (Conflict Data) Homework 6. Retrieved from https://nmilsteinuma.github.io/posts/2022-03-07-into-the-20th-century-conflict-data/
BibTeX citation
@misc{milstein2022into,
author = {Milstein, Noah},
title = {Data Analytics and Computational Social Science: Into the 20th Century (Conflict Data) Homework 6},
url = {https://nmilsteinuma.github.io/posts/2022-03-07-into-the-20th-century-conflict-data/},
year = {2022}
}