rm(list = ls())Διαγράμματα Ροής Sankey
⚠️️ΥΠΟ ΚΑΤΑΣΚΕΥΗ⚠️
if(!require(networkD3)){
install.packages("networkD3")
library(networkD3)
}Loading required package: networkD3
Αρχικά δημιουργούμε τους κόμβους.
nodes <- data.frame(
name = c("Κώστας", "Γιάννα", "Αφροδίτη", # IDs 0, 1, 2 (Α ομάδα κόμβων)
"Κώστας", "Γιάννα", "Αφροδίτη", # ID 3, 4, 5 (Β ομάδα κόμβων)
"Κώστας", "Γιάννα", "Αφροδίτη") # IDs 6, 7, 8 (Γ ομάδα κόμβων)
)Ακολούθως ορίζουμε τους συνδέσμους-ροές από κόμβο σε κόμβο
links <- data.frame(
source = c(0, 0, # id0 - 1ος κόμβος / Α ομάδα κόμβων (ΠΗΓΗ ΡΟΗΣ)
1, 1, # id1 - 2ος κόμβος / Α ομάδα κόμβων (ΠΗΓΗ ΡΟΗΣ)
2, 2, # id2 - 3ος κόμβος / Α ομάδα κόμβων (ΠΗΓΗ ΡΟΗΣ)
3, 3, # id3 - 1ος κόμβος / Β ομάδα κόμβων (ΠΗΓΗ ΡΟΗΣ)
4, 4, # id4 - 2ος κόμβος / Β ομάδα κόμβων (ΠΗΓΗ ΡΟΗΣ)
5, 5 # id5 - 3ος κόμβος / Β ομάδα κόμβων (ΠΗΓΗ ΡΟΗΣ)
),
target = c(4, 5, # 2ος&3ος κόμβος / Β ομάδα κόμβων (ΣΤΟΧΟΣ ΡΟΗΣ)
3, 5, # 1ος&3ος κόμβος / Β ομάδα κόμβων (ΣΤΟΧΟΣ ΡΟΗΣ)
3, 4, # 1ος&2ος κόμβος / Β ομάδα κόμβων (ΣΤΟΧΟΣ ΡΟΗΣ)
7, 8, # 2ος&3ος κόμβος / Γ ομάδα κόμβων (ΣΤΟΧΟΣ ΡΟΗΣ)
6, 8, # 1ος&3ος κόμβος / Γ ομάδα κόμβων (ΣΤΟΧΟΣ ΡΟΗΣ)
6, 7 # 1ος&2ος κόμβος / Γ ομάδα κόμβων (ΣΤΟΧΟΣ ΡΟΗΣ)
),
value = c(20, 10, # μέγεθος ροής Α1->Β2 και Α1->Β3
30, 15, # μέγεθος ροής Α2->Β1 και Α2->Β3
5, 20, # μέγεθος ροής Α3->Β1 και Α3->Β2
15, 5, # μέγεθος ροής Β1->Γ2 και Β1->Γ3
20, 10, # μέγεθος ροής Β2->Γ1 και Β2->Γ3
30, 20 # μέγεθος ροής Β3->Γ1 και Β3->Γ2
)
)Και το διάγραμμα είναι έτοιμο να φανεί.
sankey <- sankeyNetwork(Links = links,
Nodes = nodes,
Source = "source",
Target = "target",
Value = "value",
NodeID = "name",
fontSize = 14,
nodeWidth = 30)
# Εμφάνιση
sankey