My Personal network

For this exercise,I built a social network of 11 people from my family and personal life while I used myself as the central connecting node. The The network includes my wife’s side of the family (in-laws), my side of the family (mother, siblings, uncle), and one close friend outside the family structure. I used igraph’s graph_from_literal() to build the graph, following the same approach from Dr. Xu’s tutorial.

g_keith <- graph_from_literal(
  Keith-Wife:Mother:LittleSister:OlderSister:BrotherInLaw:MotherInLaw:FatherInLaw:Uncle:Bestfriend:SisterInLaw,
  Wife-MotherInLaw:FatherInLaw:SisterInLaw,
  MotherInLaw-FatherInLaw,
  Mother-LittleSister:OlderSister:Uncle,
  LittleSister-OlderSister,
  OlderSister-BrotherInLaw
)

set.seed(123)

plot(g_keith,
     layout = layout_with_fr(g_keith, niter = 500),
     vertex.color = "lightblue",
     vertex.size = 20,
     vertex.label.cex = 0.75,
     vertex.label.color = "black",
     vertex.label.dist = 1.5,
     edge.color = "grey60",
     main = "Keith's Family & Friend Network")

Network Analysis

Degree and Triangle Count

Below, I calculate each person’s degree (number of direct connections) also their triangle count which is how many tightly knit closed groups they belong to).

degree_table <- data.frame(
  person = V(g_keith)$name,
  degree = degree(g_keith, mode = "all"),
  triangles = count_triangles(g_keith)
) %>%
  arrange(desc(degree))

degree_table
##                    person degree triangles
## Keith               Keith     10         9
## Wife                 Wife      4         4
## Mother             Mother      4         4
## OlderSister   OlderSister      4         4
## LittleSister LittleSister      3         3
## MotherInLaw   MotherInLaw      3         3
## FatherInLaw   FatherInLaw      3         3
## BrotherInLaw BrotherInLaw      2         1
## Uncle               Uncle      2         1
## SisterInLaw   SisterInLaw      2         1
## Bestfriend     Bestfriend      1         0

Friends of Friends

This would identify pairs of people who share a mutual connection but does not directly connected themselves. This is the same logic platforms like LinkedIn use for “people you may know”

edge_list <- igraph::as_data_frame(g_keith, what = "edges")

fof <- edge_list %>%
  rename(a = from, b_mid = to) %>%
  inner_join(edge_list, by = c("b_mid" = "from"), suffix = c("", "_2"),
             relationship = "many-to-many") %>%
  rename(b = to) %>%
  filter(a != b) %>%
  anti_join(edge_list, by = c("a" = "from", "b" = "to")) %>%
  anti_join(edge_list, by = c("a" = "to", "b" = "from")) %>%
  distinct(a, b_mid, b)

fof
##              a       b_mid            b
## 1       Mother OlderSister BrotherInLaw
## 2 LittleSister OlderSister BrotherInLaw

PageRank: Identifying the Most Influential Person

This scores each person not just by how many connections they have but how well they are actually connected together.

pr <- page_rank(g_keith, damping = 0.85)$vector

pagerank_table <- data.frame(
  person = names(pr),
  pagerank = pr
) %>%
  arrange(desc(pagerank))

pagerank_table
##                    person   pagerank
## Keith               Keith 0.24843082
## Wife                 Wife 0.10382340
## Mother             Mother 0.10293461
## OlderSister   OlderSister 0.10293461
## MotherInLaw   MotherInLaw 0.07927738
## FatherInLaw   FatherInLaw 0.07927738
## LittleSister LittleSister 0.07850019
## SisterInLaw   SisterInLaw 0.05681546
## Uncle               Uncle 0.05662659
## BrotherInLaw BrotherInLaw 0.05662659
## Bestfriend     Bestfriend 0.03475298

Interpretation

This analysis reveals a clear hub and cluster structure in my personal network. I hold both the highest degree (10) and the highest triangle count (9), this does make sense since I am the only person directly connected to both my in law family and my birth family the two cluster only connect to me.My wife, mother, and older sister form the next section which is embedded in its own tightly knit cluster of 4 connections and 3-4 triangles. This makes because of how closely those family groups know one another independently of me.

The friends of friends analysis showed two missing links: Mother and BrotherInLaw does have a mutal connection with my OlderSister but arent directly tied and the same is true for my LittleSister and BrotherInLaw. In the real world context these are natural introduction opportunites and OlderSister is showed as a bridge who could connect her siblings with her husbands side more directly.

PageRank shows the degree and triangle findings rather than contradicting them. I rank the highest because I connect two well connected clusters and not just because I have the most ties. Bestfriend ranks lowest across every metric (degree 1, 0 triangles, lowest PageRank) that connection does only exists through me and is not reinforced by any other tie in the network.