library(igraph)
# Definir los personajes de Friends
personajes <- data.frame(name = c("Rachel", "Monica", "Phoebe", "Joey", "Chandler", "Ross"))
# Definir las relaciones entre los personajes y el tipo de relación
relaciones <- data.frame( from = c("Rachel", "Rachel", "Rachel", "Rachel", "Rachel",
                                   "Monica", "Monica", "Monica", "Monica", 
                                   "Phoebe", "Phoebe", "Phoebe", 
                                   "Joey", "Joey", 
                                   "Chandler"), 
                          to = c("Monica", "Phoebe", "Joey", "Chandler", "Ross",
                                 "Phoebe", "Joey", "Chandler", "Ross",
                                 "Joey", "Chandler", "Ross",
                                 "Chandler", "Ross",
                                 "Ross"),
                          relationship = c("friends", "friends", "friends", "friends", "partners",
                                           "friends", "friends", "partners", "friends",
                                           "friends", "friends", "friends",
                                           "friends", "friends",
                                           "friends"))
# Crear el grafo solo con las aristas
g <- graph_from_data_frame(d = relaciones, vertices = personajes, directed = FALSE)
# Asignar atributos de color a las aristas según el tipo de relación
E(g)$color <- ifelse(E(g)$relationship == "partners", "red", "purple")

# Asignar atributos de grosor a las aristas según el tipo de relación
E(g)$width <- ifelse(E(g)$relationship == "partners", 3, 1)

# Personalizar los vértices
V(g)$color <- "skyblue"
V(g)$size <- 25
V(g)$label.color <- "black"
V(g)$label.cex <- 1.5

# Visualizar el grafo
plot(g, layout = layout_with_fr, main = "Relaciones entre los personajes de Friends")

NA
NA
LS0tDQp0aXRsZTogIlRhcmVhIDMiDQpOb21icmU6ICJYaW1lbmEgWW5nYSBIZWxndWVybyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCmBgYHtyfQ0KbGlicmFyeShpZ3JhcGgpDQojIERlZmluaXIgbG9zIHBlcnNvbmFqZXMgZGUgRnJpZW5kcw0KcGVyc29uYWplcyA8LSBkYXRhLmZyYW1lKG5hbWUgPSBjKCJSYWNoZWwiLCAiTW9uaWNhIiwgIlBob2ViZSIsICJKb2V5IiwgIkNoYW5kbGVyIiwgIlJvc3MiKSkNCmBgYA0KDQoNCmBgYHtyfQ0KIyBEZWZpbmlyIGxhcyByZWxhY2lvbmVzIGVudHJlIGxvcyBwZXJzb25hamVzIHkgZWwgdGlwbyBkZSByZWxhY2nDs24NCnJlbGFjaW9uZXMgPC0gZGF0YS5mcmFtZSggZnJvbSA9IGMoIlJhY2hlbCIsICJSYWNoZWwiLCAiUmFjaGVsIiwgIlJhY2hlbCIsICJSYWNoZWwiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW9uaWNhIiwgIk1vbmljYSIsICJNb25pY2EiLCAiTW9uaWNhIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQaG9lYmUiLCAiUGhvZWJlIiwgIlBob2ViZSIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSm9leSIsICJKb2V5IiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDaGFuZGxlciIpLCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gPSBjKCJNb25pY2EiLCAiUGhvZWJlIiwgIkpvZXkiLCAiQ2hhbmRsZXIiLCAiUm9zcyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGhvZWJlIiwgIkpvZXkiLCAiQ2hhbmRsZXIiLCAiUm9zcyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSm9leSIsICJDaGFuZGxlciIsICJSb3NzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDaGFuZGxlciIsICJSb3NzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb3NzIiksDQogICAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uc2hpcCA9IGMoImZyaWVuZHMiLCAiZnJpZW5kcyIsICJmcmllbmRzIiwgImZyaWVuZHMiLCAicGFydG5lcnMiLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJmcmllbmRzIiwgImZyaWVuZHMiLCAicGFydG5lcnMiLCAiZnJpZW5kcyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImZyaWVuZHMiLCAiZnJpZW5kcyIsICJmcmllbmRzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJpZW5kcyIsICJmcmllbmRzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZnJpZW5kcyIpKQ0KYGBgDQoNCg0KYGBge3J9DQojIENyZWFyIGVsIGdyYWZvIHNvbG8gY29uIGxhcyBhcmlzdGFzDQpnIDwtIGdyYXBoX2Zyb21fZGF0YV9mcmFtZShkID0gcmVsYWNpb25lcywgdmVydGljZXMgPSBwZXJzb25hamVzLCBkaXJlY3RlZCA9IEZBTFNFKQ0KIyBBc2lnbmFyIGF0cmlidXRvcyBkZSBjb2xvciBhIGxhcyBhcmlzdGFzIHNlZ8O6biBlbCB0aXBvIGRlIHJlbGFjacOzbg0KRShnKSRjb2xvciA8LSBpZmVsc2UoRShnKSRyZWxhdGlvbnNoaXAgPT0gInBhcnRuZXJzIiwgInJlZCIsICJwdXJwbGUiKQ0KDQojIEFzaWduYXIgYXRyaWJ1dG9zIGRlIGdyb3NvciBhIGxhcyBhcmlzdGFzIHNlZ8O6biBlbCB0aXBvIGRlIHJlbGFjacOzbg0KRShnKSR3aWR0aCA8LSBpZmVsc2UoRShnKSRyZWxhdGlvbnNoaXAgPT0gInBhcnRuZXJzIiwgMywgMSkNCg0KIyBQZXJzb25hbGl6YXIgbG9zIHbDqXJ0aWNlcw0KVihnKSRjb2xvciA8LSAic2t5Ymx1ZSINClYoZykkc2l6ZSA8LSAyNQ0KVihnKSRsYWJlbC5jb2xvciA8LSAiYmxhY2siDQpWKGcpJGxhYmVsLmNleCA8LSAxLjUNCg0KIyBWaXN1YWxpemFyIGVsIGdyYWZvDQpwbG90KGcsIGxheW91dCA9IGxheW91dF93aXRoX2ZyLCBtYWluID0gIlJlbGFjaW9uZXMgZW50cmUgbG9zIHBlcnNvbmFqZXMgZGUgRnJpZW5kcyIpDQoNCg0KYGBgDQoNCg==