9 Soziale Netzwerkanalyse

9.1 Imports

9.2 Read in the Data from online Resource

# df <- read_csv("https://github.com/tdenzl/MarvelNetwork/raw/main/data/hero-network.csv")
# write_csv(df, "data/hero-network.csv")

Read in from /data after first step

hero_network <- read_csv("data/hero_network.csv")
## Rows: 574467 Columns: 2
## ── Column specification ────────────────────────────────
## Delimiter: ","
## chr (2): hero1, hero2
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.

9.3 Tidying + Desc

hero_network <- hero_network %>% 
  mutate(hero1 = str_to_lower(hero1), hero2 = str_to_lower(hero2))

hero_network %>% 
  count(hero1,hero2, sort= T) %>% 
  rename(weight = n) %>%
  head()
## # A tibble: 6 × 3
##   hero1                hero2                weight
##   <chr>                <chr>                 <int>
## 1 patriot/jeff mace    patriot/jeff mace      1275
## 2 patriot/jeff mace    miss america/madelin   1267
## 3 miss america/madelin miss america/madelin    672
## 4 miss america/madelin patriot/jeff mace       627
## 5 thing/benjamin j. gr human torch/johnny s    382
## 6 human torch/johnny s mr. fantastic/reed r    366

9.4 Network Creation

skip.gram.count <- hero_network %>% 
  count(hero1,hero2, sort= T) %>% 
  rename(weight = n)

treshold <- 50

network <- skip.gram.count %>% 
  filter(weight >= treshold) %>% 
  graph_from_data_frame(directed = F)

V(network)$cluster <- clusters(graph = network)$membership

cc.network <- induced_subgraph(
  graph = network, 
  vids = which( 
    V(network)$cluster == which.max(clusters(graph=network)$csize)
    )
  )

Darstellung des Netzwerks:

9.5 5-Fragen-Beschreibung

ähnlich zu 5-Punkt-Beschreibung, gut zur allg. Beschreibung eines Netzwerks

9.5.1 Size: Wie groß ist das Netzwerk?

Wie viele Knoten / Verbindungen (engl: Vertices / Edges) hat das Netzwerk

length(V(cc.network)) 
## [1] 114
# 114 Knoten
length(E(cc.network)) 
## [1] 634
# 634 Verbindungen

9.5.2 Density: wie dicht ist das Netzwerks?

wie nah sind die Knoten beieinander

edge_density(cc.network)
## [1] 0.09843192

9.5.3 Components: wie viele Komponenten (Gesamtnetzwerke) hat das Netzwerk?

gibt es unternetzwerke, die keine Verbindung haben zu anderem?

count_components(cc.network)
## [1] 1

9.5.4 Compactness: wie kompakt ist das Netzwerk?

wie viele Schritte braucht es maximal, Information im Netzwerk zu senden?

diameter(cc.network)
## [1] 504

9.5.5 Transitivität: wie stark tendiert das Netzwerk dazu Cluster zu bilden?

transitivity(cc.network)
## [1] 0.49751

Wert zwischen 0 > T > 1, wir sind gut in der Mitte, gibt aber Tendenzen