Visualisasi Diagram Sankey (Sankey Diagram) dengan R

Diagram Sankey dengan R

Kemarin visualisasi yang kita bahas masih mendasar, kali ini kita akan mencoba belajar bersama bagaimana membuat visualisasi data lanjutan menggunakan Diagram Sankey (Sankey Diagram). Sebagian dari kita mungkin belum pernah mendengar jenis visualisasi ini, bisa jadi pula, teman-teman baru tahu dari blog ini. Namun, visualisasi ini sebenarnya telah lama dan banyak digunakan, apalagi kalau teman-teman mencoba menengok keseruan komunitas Tableau publik, di sana, diagram Sankey begitu banyak macamnya, bahkan customenya aneh dan unik kalau saya katakan. Tapi yang jelas penuh dengan makna atau insight.

Diagram Sankey sendiri didefinisikan sebagai diagram aliran hubungan atau keterkaitan antara satu set data dengan set data lainnya dengan karakteristik node dan link. Node adalah titik atau amatan data yang terhubung, sedangkan link merupakan garis, alur, atau jembatan penghubung antar node tadi.

Diagram Sankey hingga kini terus dikembangkan karena bermanfaat khususnya untuk visualisasi data-data yang memiliki keterkaitan antar waktu atau antar amatan. Salah satu contoh data yang akan kita jadikan bahan praktik visualisasi diagram Sankey kali ini adalah data Ekspor-Impor Indonesia yang telah saya siapkan di sini, bisa teman-teman unduh dulu datanya. Dalam data tersebut, tujuan atau goal dari praktik kita adalah bagaimana membuat diagram alur negara lain ekspor ke Indonesia dan bagaimana ekspor Indonesia ke negara lain. Tujuan seperti inilah yang relevan bila kita buat dalam visualisasi Sankey. Adapun langkah-langkahnya, kita dapat menggunakan beberapa code berikut:

Code:

#Install dan aktivasi package
install.packages("networkD3")
install.packages("dplyr")
library(networkD3)
library(dplyr)

#Import data Eskpor-Impor Indonesia
library(readxl)
exim <- read_excel("E:/R/Sankey Diagram Perdagangan Antar Wilayah Indonesia/Exim.xlsx")

#Mengubah nama data frame ke links
links <- exim

#Melihat Sekilas data
links

Hasil:

   source    target               value IDsource IDtarget
   <chr>     <chr>                <dbl>    <dbl>    <dbl>
 1 Indonesia Jepang           915785595        0       22
 2 Indonesia Amerika Serikat  681889742        0       23
 3 Indonesia Tiongkok        4303187335        0       24
 4 Indonesia Malaysia        1049271858        0       25
 5 Indonesia Taiwan           238659337        0       26
 6 Indonesia Swiss               370344        0       27
 7 Indonesia Thailand        1526119955        0       28
 8 Indonesia Singapura        257107099        0       29
 9 Indonesia India           1458247760        0       30
10 Indonesia Vietnam          405453047        0       31
# ... with 42 more rows

Code:

#Membuat data nodes secara unik dan berkaitan dengan source dan target
nodes <- data.frame(
  name=c(as.character(links$source),
         as.character(links$target)) %>% unique()
)

#Membuat link dengan fungsi match()
links$IDsource <- match(links$source, nodes$name)-1
links$IDtarget <- match(links$target, nodes$name)-1

# Make the Network
sankey <- sankeyNetwork(Links = links, Nodes = nodes,
                   Source = "IDsource", Target = "IDtarget",
                   Value = "value", NodeID = "name",
                   sinksRight=T, fontSize = 8, nodeWidth = 30)
 

sankey

Hasil:

Diagram Sankey Ekspor - Impor Indonesia

Visualisasi Diagram Sankey dengan hover aktif

Baik, demikian sekilas cara memvisualisasikan data dengan Diagram Sankey, jangan lupa share dan komentar bila ada pertanyaan di kolom komentar. Jangan lupa untuk terus menyimak blog ini untuk sharing dan berbagi ilmu selanjutnya. Selamat mempraktikan!

Add Comments


EmoticonEmoticon