library(networkdata)
library(igraph)
library(tidyverse)
library(ggraph)
data(movie_410)
Кунг-фу панда: социальная сеть персонажей
Домашнее задание № 16
Аннотация
Граф персонажей по мультфильму “Кунг-фу панда” (первая часть). Источник данных - networkdata
.
Предобработка данных
Установим все необходимые для работы библиотеки:
Отметим, какие из персонажей активно участвуют в основном противостоянии (и являются ли они положительными или отрицательными), а какие персонажи являются второстепенными
<- tibble(name = V(movie_410)$name) |>
class_tbl mutate(class = case_when(
str_detect(name, "^(TAI LUNG|GANG BOSS)$") ~ "evil",
str_detect(name, "^(PO|MANTIS|TIGRESS|SHIFU|OOGWAY|FURIOUS FIVE|CRANE|MONKEY|VIPER)$") ~ "good",
.default = "neutral"))
class_tbl
# A tibble: 21 × 2
name class
<chr> <chr>
1 ANNOUNCER neutral
2 CHEERS neutral
3 COMMANDER neutral
4 CRANE good
5 FURIOUS FIVE good
6 GANG BOSS evil
7 JR SHAW neutral
8 KG SHAW neutral
9 MANTIS good
10 MONKEY good
# ℹ 11 more rows
V(movie_410)$class <- class_tbl$class
Строим граф
ggraph(movie_410, layout = "dh") +
geom_edge_link(aes(edge_width = weight),
alpha = 0.2) +
geom_node_label(aes(label = name, fill = class),
color = "white",
size = 2.5) +
theme_graph(base_family = "sans")
Можем заметить различные особенности, отражающие сюжет мультфильма: мастер Угвей из всех кунг-фу мастеров общается только с Шифу, Тигрицей и По, ребра между ним и Тай Лунгом нет (что соответствует идее, что он никогда его не замечал)
Также можно увидеть, что Тигрица точно один из основных персонажей, а По много общается с отцом (даже больше, чем с некоторыми “сокомандниками”, хотя он проводит с ними бОльшую часть мультфильма)