Introduction
A family can be viewed as a social network because each person is
connected through a specific relationship. My family network includes my
mother, father, brother, my dad’s wife, her children and grandchildren,
my brother’s unidentified partner, and my father’s four cats.
My parents are divorced. My father remarried, while my mother did
not. My dad’s wife has two adult daughters who are married and have
children of their own. My brother is also connected to a woman he has
not introduced to the family. My father considers his cats to be part of
the family, so they are included as household members in the
network.
Three of the four cats are brothers. In this report, Dad’s Cat 1,
Dad’s Cat 2, and Dad’s Cat 3 are represented as the three cat brothers,
while Dad’s Cat 4 is connected to my father but is not part of that
sibling group.
Family Members and
Household Members
The network includes the following nodes:
- Brandon
- Brother
- Mother
- Father
- Dad’s Wife
- Brother’s Mystery Woman
- Dad’s Wife’s Daughter 1
- Daughter 1’s Spouse
- Daughter 1’s Child
- Dad’s Wife’s Daughter 2
- Daughter 2’s Spouse
- Daughter 2’s Child
- Dad’s Cat 1
- Dad’s Cat 2
- Dad’s Cat 3
- Dad’s Cat 4
Relationship Data
family_relationships <- data.frame(
from = c(
"Brandon",
"Brandon",
"Brandon",
"Brother",
"Brother",
"Mother",
"Father",
"Brother",
"Dad's Wife",
"Dad's Wife",
"Dad's Wife's Daughter 1",
"Dad's Wife's Daughter 1",
"Daughter 1's Spouse",
"Dad's Wife's Daughter 2",
"Dad's Wife's Daughter 2",
"Daughter 2's Spouse",
"Father",
"Father",
"Father",
"Father",
"Dad's Cat 1",
"Dad's Cat 1",
"Dad's Cat 2"
),
to = c(
"Mother",
"Father",
"Brother",
"Mother",
"Father",
"Father",
"Dad's Wife",
"Brother's Mystery Woman",
"Dad's Wife's Daughter 1",
"Dad's Wife's Daughter 2",
"Daughter 1's Spouse",
"Daughter 1's Child",
"Daughter 1's Child",
"Daughter 2's Spouse",
"Daughter 2's Child",
"Daughter 2's Child",
"Dad's Cat 1",
"Dad's Cat 2",
"Dad's Cat 3",
"Dad's Cat 4",
"Dad's Cat 2",
"Dad's Cat 3",
"Dad's Cat 3"
),
relationship = c(
"Parent-child",
"Parent-child",
"Sibling",
"Parent-child",
"Parent-child",
"Former marriage",
"Marriage",
"Dating or partner relationship",
"Parent-child",
"Parent-child",
"Marriage",
"Parent-child",
"Parent-child",
"Marriage",
"Parent-child",
"Parent-child",
"Pet parent",
"Pet parent",
"Pet parent",
"Pet parent",
"Cat siblings",
"Cat siblings",
"Cat siblings"
),
stringsAsFactors = FALSE
)
kable(
family_relationships,
caption = "Relationships Included in the Expanded Family Network"
)
Relationships Included in the Expanded Family Network
| Brandon |
Mother |
Parent-child |
| Brandon |
Father |
Parent-child |
| Brandon |
Brother |
Sibling |
| Brother |
Mother |
Parent-child |
| Brother |
Father |
Parent-child |
| Mother |
Father |
Former marriage |
| Father |
Dad’s Wife |
Marriage |
| Brother |
Brother’s Mystery Woman |
Dating or partner relationship |
| Dad’s Wife |
Dad’s Wife’s Daughter 1 |
Parent-child |
| Dad’s Wife |
Dad’s Wife’s Daughter 2 |
Parent-child |
| Dad’s Wife’s Daughter 1 |
Daughter 1’s Spouse |
Marriage |
| Dad’s Wife’s Daughter 1 |
Daughter 1’s Child |
Parent-child |
| Daughter 1’s Spouse |
Daughter 1’s Child |
Parent-child |
| Dad’s Wife’s Daughter 2 |
Daughter 2’s Spouse |
Marriage |
| Dad’s Wife’s Daughter 2 |
Daughter 2’s Child |
Parent-child |
| Daughter 2’s Spouse |
Daughter 2’s Child |
Parent-child |
| Father |
Dad’s Cat 1 |
Pet parent |
| Father |
Dad’s Cat 2 |
Pet parent |
| Father |
Dad’s Cat 3 |
Pet parent |
| Father |
Dad’s Cat 4 |
Pet parent |
| Dad’s Cat 1 |
Dad’s Cat 2 |
Cat siblings |
| Dad’s Cat 1 |
Dad’s Cat 3 |
Cat siblings |
| Dad’s Cat 2 |
Dad’s Cat 3 |
Cat siblings |
Building the
Network
family_graph <- graph_from_data_frame(
d = family_relationships,
directed = FALSE
)
V(family_graph)$degree <- degree(family_graph)
Interactive Family
Network
Basic Network
Statistics
network_summary <- data.frame(
Measure = c(
"Number of nodes",
"Number of relationships",
"Network density",
"Connected components",
"Network diameter",
"Average distance",
"Global transitivity"
),
Value = c(
vcount(family_graph),
ecount(family_graph),
round(edge_density(family_graph), 3),
components(family_graph)$no,
diameter(family_graph),
round(mean_distance(family_graph), 3),
round(transitivity(family_graph, type = "global"), 3)
)
)
kable(
network_summary,
caption = "Summary of the Expanded Family Network"
)
Summary of the Expanded Family Network
| Number of nodes |
16.000 |
| Number of relationships |
23.000 |
| Network density |
0.192 |
| Connected components |
1.000 |
| Network diameter |
5.000 |
| Average distance |
2.700 |
| Global transitivity |
0.484 |
Interpretation
The network includes immediate family, extended family, a partner who
has not yet been introduced to the family, and four cats. Because all
nodes connect back to the same larger family structure, the graph forms
one connected component.
The network density is expected to be fairly low because most family
members are directly connected only to a few people. The cats are
connected to my father, and three of the cats also form their own
sibling group.
Individual Network
Measurements
individual_statistics <- data.frame(
Node = V(family_graph)$name,
Degree = degree(family_graph),
Betweenness = round(
betweenness(family_graph, normalized = TRUE),
3
),
Closeness = round(
closeness(family_graph, normalized = TRUE),
3
)
) |>
arrange(desc(Degree), desc(Betweenness), Node)
datatable(
individual_statistics,
caption = "Individual Network Measurements",
rownames = FALSE,
options = list(
pageLength = 20,
dom = "tip"
)
)
Degree Ranking
degree_ranking <- data.frame(
Node = V(family_graph)$name,
Direct_Connections = degree(family_graph)
) |>
arrange(desc(Direct_Connections), Node)
kable(
degree_ranking,
caption = "Nodes Ranked by Number of Direct Connections"
)
Nodes Ranked by Number of Direct Connections
| Father |
Father |
8 |
| Brother |
Brother |
4 |
| Brandon |
Brandon |
3 |
| Dad’s Cat 1 |
Dad’s Cat 1 |
3 |
| Dad’s Cat 2 |
Dad’s Cat 2 |
3 |
| Dad’s Cat 3 |
Dad’s Cat 3 |
3 |
| Dad’s Wife |
Dad’s Wife |
3 |
| Dad’s Wife’s Daughter 1 |
Dad’s Wife’s Daughter 1 |
3 |
| Dad’s Wife’s Daughter 2 |
Dad’s Wife’s Daughter 2 |
3 |
| Mother |
Mother |
3 |
| Daughter 1’s Child |
Daughter 1’s Child |
2 |
| Daughter 1’s Spouse |
Daughter 1’s Spouse |
2 |
| Daughter 2’s Child |
Daughter 2’s Child |
2 |
| Daughter 2’s Spouse |
Daughter 2’s Spouse |
2 |
| Brother’s Mystery Woman |
Brother’s Mystery Woman |
1 |
| Dad’s Cat 4 |
Dad’s Cat 4 |
1 |
Main Findings
My father is one of the most central figures because he connects the
original family, his current marriage, and all four cats.
My dad’s wife acts as a bridge to her two adult daughters and their
families.
My brother’s mystery woman appears as an outer node because she is
connected only to him and has not been introduced to the larger
family.
The cats form a small household subnetwork. All four cats are
connected to my father, while Cats 1, 2, and 3 also have sibling
connections with one another.
Limitations
This network describes family structure, but it does not measure
emotional closeness, relationship quality, frequency of communication,
or conflict. A line between two nodes only shows that a relationship
exists.
Conclusion
Social network analysis provides a useful way to represent a
complicated family structure. This graph includes immediate family,
remarriage, extended family, grandchildren, a private romantic
relationship, and pets.