7 Visualisasi Data dengan R yang Harus Anda Pelajari

Dengan semakin meningkatnya volume data, tidak mungkin untuk menceritakannya tanpa visualisasi. Visualisasi data adalah sebuah seni tentang cara mengubah angka menjadi pengetahuan yang berguna.

Pemrograman R memungkinkan Anda mempelajari seni ini dengan menawarkan seperangkat fungsi dan library untuk membangun visualisasi dan menyajikan data. Sebelum mengimplementasikan visualisasi secara teknis, mari kita perhatikan dulu cara memilih jenis grafik (chart) yang benar.

Memilih Jenis Grafik yang Tepat

Terdapat empat jenis penyajian dasar:

  1. Comparison (Perbandingan)
  2. Composition (Komposisi)
  3. Distribution (Distribusi)
  4. Relationship (Relasi/Hubungan)

Untuk menentukan yang mana di antara keempat jenis penyajian tersebut yang sesuai dengan data Anda, disarankan untuk menjawab pertanyan-pertanyaan seperti:

  • berapa banyak variabel yang ingin Anda tampilkan dalam sebuah grafik?
  • berapa banyak poin data (data points) yang akan Anda tampilkan untuk setiap variabel?
  • Akankah Anda menampilkan nilai-nilai selama periode waktu tertentu, atau di antara item atau kelompok?

Berikut ini penjelasan yang sangat bagus dalam memilih grafik yang tepat, oleh Dr. Andrew Abela.

redirect.viglink.com

Dalam aktivitas sehari-hari, Anda akan menemukan 7 grafik yang disebut di bawah ini hampir sepanjang waktu.

  1. Scatter Plot
  2. Histogram
  3. Bar & Stack Bar Chart
  4. Box Plot
  5. Area Chart
  6. Heat Map
  7. Correlogram

Kita akan menggunakan contoh data “Big Mart” sebagaimana ditampilkan di bawah ini untuk memahami cara bagaimana membuat visualisasi di R. Anda dapat mengunduh full dataset nya di sini.

Untitled.png

Sekarang, mari kita lihat bagaimana menggunakan visualisasi tersebut di R.

1. Scatter Plot

Kapan digunakan? Scatter plot digunakan untuk melihat hubungan antara dua variabel kontinu.

Di dataset kita tadi, jika kita inin mem-visualisasi-kan item-item berdasarkan data biayanya (cost data), maka kita dapat menggunakan grafik scatter plot dengan dua variabel kontinu, yaitu variabel Item_Visibility & Item_MRP sebagaimana tampak seperti berikut.

scatter plot.png

Berikut ini skrip R untuk scatter plot sederhana menggunakan fungsi ggplot() dengan geom_point().

install.packages(c(“ggplot2″,”readr”))

library(ggplot2) //ggplot2 adalah paket R untuk visualisasi

library(readr) //readr adalah paket R untuk mengimport data *.csv
train <- read_csv(“C:/Users/…/Big Mart Dataset – Sheet1.csv”)
View(train)

ggplot(train, aes(Item_Visibility, Item_MRP)) + geom_point() + scale_x_continuous(“Item Visibility”, breaks = seq(0,0.35,0.05))+ scale_y_continuous(“Item MRP”, breaks = seq(0,270,by = 30))+ theme_bw()

Sekarang, kita juga bisa melihat variabel ketiga di grafik yang sama, katakanlah sebuah variabel kategorik (Item_Type) yang akan memberi karakteristik pada setiap data set. Kategori yang berbeda digambarkan denga warna berbeda untuk kategori item_type (jenis item) seperti tampak pada gambar di bawah ini.

scatter plot berkategori.png

Skrip R dengan tambahan kattegori.

ggplot(train, aes(Item_Visibility, Item_MRP)) + geom_point(aes(color = Item_Type)) +
scale_x_continuous(“Item Visibility”, breaks = seq(0,0.35,0.05))+
scale_y_continuous(“Item MRP”, breaks = seq(0,270,by = 30))+
theme_bw() + labs(title=”Scatterplot”)

Kita bahkan bisa membuatnya terlihat lebih jelas dengan membuat scatter plot secara terpisah untuk setiap variabel Item_Type yang berbeda, seperti di bawah ini.

separate scatter plot with categories.png

Skrip R yang digunakan menggambarkan kategori yang terpisah.

ggplot(train, aes(Item_Visibility, Item_MRP)) + geom_point(aes(color = Item_Type)) +
scale_x_continuous(“Item Visibility”, breaks = seq(0,0.35,0.05))+
scale_y_continuous(“Item MRP”, breaks = seq(0,270,by = 30))+
theme_bw() + labs(title=”Scatterplot”) + facet_wrap( ~ Item_Type)

2. Histogram

Histogram digunakan untuk mem-plot variabel kontinu. Histogram memecah data ke dalam beberapa bin dan menampilkan distribusi frekuensi dari bin tersebut. Kitaselalu dapat mengubah ukuran bin tersebut dan melihat efek yang ditimbulkannya dalam visualisasi.

Dari data set yang kita punya, jika kita ingin mengetahui jumlah barang (item) berdasarkan harganya, maka kita dapat mem-plot histogram menggunakan variabel kontinu Item_MRP seperti tampak di bawah ini.

histogram

Berikut ini adalah skrip R untuk plot histogram sederhana menggunakan fungsi ggplot() dengan geom_histogram().

ggplot(train, aes(Item_MRP)) + geom_histogram(binwidth = 2)+
scale_x_continuous(“Item MRP”, breaks = seq(0,270,by = 30))+
scale_y_continuous(“Count”, breaks = seq(0,200,by = 20))+
labs(title = “Histogram”)

3. Bar & Stack Bar Chart

Bar Chart (Grafik Batang) direkomendasikan ketika Anda ingin mem-plot suatu variabel kategorik atau kombinasi dari variabel kontinu dan kategorik.

Dari dataset kita, jika kita ingin mengetahui jumlah pasar (mart) yang didirikan pada tahun tertentu, maka bar chart memnjadi pilihan yang paling sesuai, gunakan variabel Establishment Year sebagaimana tampak pada gambar berikut.

box plot.png

Berikut ini skrip R yang digunakan untuk bar plot sederhana menggunakan fungsi ggplot() untuk satu variabel kontinu.

ggplot(train, aes(Outlet_Establishment_Year)) + geom_bar(fill = “red”)+theme_bw()+
scale_x_continuous(“Establishment Year”, breaks = seq(1985,2010)) +
scale_y_continuous(“Count”, breaks = seq(0,1500,150)) +
coord_flip()+ labs(title = “Bar Chart”) + theme_gray()

Vertival Bar Chart

Sebagai variasi, Anda dapat menghapus parameter coord_flip() untuk mengubah bar chart di atas menjadi vertikal, seperti tampak pada gambar di bawah ini.

vertical bar chart.PNG

Untuk mengetahui item weights (berat barang) (variabel kontinu) berdasarkan Outlet Type (Jenis Outlet) (variabel kategorik) pada bar chart tunggal, gunakan kode berikut.

ggplot(train, aes(Item_Type, Item_Weight)) + geom_bar(stat = “identity”, fill = “darkblue”) + scale_x_discrete(“Outlet Type”)+ scale_y_continuous(“Item Weight”, breaks = seq(0,15000, by = 500))+ theme(axis.text.x = element_text(angle = 90, vjust = 0.5)) + labs(title = “Bar Chart”)

Hasilnya seperti gambar di bawah ini.

bar chart vertically.png

Stacked Bar Chart (Grafik Batang Bertumpuk)

Stacked Bar Chart adalah versi lanjut dari bar chart, digunakan untuk memvisualisasikan gabungan variabel-variabel kategorik.

Dari data set kita, jika kita ingin mengetahui jumlah outlet berdasarkan variabel-variabel kategorik seperti jenisnya (Outlet Type) dan lokasinya (Outlet Location Type) sekaligus, stack chart akan memvisualisasikan skenario ini dengan cara yang paling berguna.

stacked bar chart.png

Berikut ini adalah kode R untuk stacked bar chart sederhana menggunakan fungsi ggplot().

ggplot(train, aes(Outlet_Location_Type, fill = Outlet_Type)) + geom_bar()+
labs(title = “Stacked Bar Chart”, x = “Outlet Location Type”, y = “Count of Outlets”)

4. Box Plot

Box Plot digunakan untuk mem-plot suatu gabungan variabel-variabel kategorik dan kontinu. Plot ini berguna untuk memvisualisasikan penyebaran data dan mendeteksi outlier. Plot ini menampilkan 5 angka signifikan secara statistik -minimum, persentil ke-25, median, persentil ke-75 dan maksimum.

Dari data set kita, jika kita ingin mengidentifikasi penjualan barang tiap outlet secara rinci, termasuk jumlah minimum, maksimum dan median, box plot bisa sangat membantu. Selain itu, box plot juga menampilkan nilai outlier dari penjualan item untuk masing-masing outlet sebagaimana tampak pada gambar berikut.

box plotttt.png

Titik-titik hitam pada gambar adalah outlier. Deteksi dan penghapusan outlier merupakan langkah penting dalam eksplorasi data yang berhasil.

Berikut ini adalah kode R untuk box plot sederhana menggunakan fungsi ggplot() dengan geom_boxplot().

ggplot(train, aes(Outlet_Identifier, Item_Outlet_Sales)) + geom_boxplot(fill = “red”)+
scale_y_continuous(“Item Outlet Sales”, breaks= seq(0,15000, by=500))+
labs(title = “Box Plot”, x = “Outlet Identifier”)

5. Area Chart (Diagram Area)

Area Chart digunakan untuk menampilkan kontinuitas antar variabel atau data set. Area Chart ini sangat mirip dengan line chart (diagram garis) dan biasanya digunakan untuk plot time series. Sebagai alternatif, diagram tersebut juga digunakan untuk mem-plot variabel kontinu dan menganalisis tren nya.

Dari data set kita, ketika kita ingin menganalisis tren dari item outlet sales, area chart dapat di-plot-kan sebagaimana tampak pada gambar berikut. Gambar tersebut menunjukkan jumlah outlet berdasarkan penjualan.

area chart.png

Berikut ini kode R untuk area chart sederhana yang menunjukkan Item Outlet Sales menggunakan fungsi ggplot() dengan geom_area().

ggplot(train, aes(Item_Outlet_Sales)) + geom_area(stat = “bin”, bins = 30, fill = “steelblue”) + scale_x_continuous(breaks = seq(0,11000,1000))+ labs(title = “Area Chart”, x = “Item Outlet Sales”, y = “Count”)

6. Heat Map

Heat Map menggunakan intensitas (densitas/kepadatan) warna untuk menggambarkan hubungan antara dua, tiga, atau banyak variabel dalam sebuah gambar dua dimensi. Heat Map ini memungkinkan Anda untuk mengeksplorasi dua dimensi sebagai sumbu (axis) dan dimensi ketiga sebagai intensitas warna.

Dari data set kita, jika kita ingin mengetahui harga dari tiap item di setiap outlet, kita dapat mem-plot heatmap sebagaimana ditunjukkan di bawah ini, menggunakan tiga variabel, Item MRP, Outlet Identifier dan Item Type dari dataset pasar (mart dataset) kita.

heat map.PNG

Bagian yang gelap menunjukkan bahwa Item MRP mendekati 50. Bagian yang lebih terang menunjukkan bahwa Item MRP mendekati 250.

Berikut adalah kode R untuk heatmap sederhana menggunakan fungsi ggplot().

ggplot(train, aes(Outlet_Identifier, Item_Type))+
geom_raster(aes(fill = Item_MRP))+
labs(title =”Heat Map”, x = “Outlet Identifier”, y = “Item Type”)+
scale_fill_continuous(name = “Item MRP”)

7. Correlogram

Correlogram digunakan untuk menguji tingkat co-relation (hubungan timbal balik) antar variabel yang tersedia di data set. Sel-sel matriks bisa diarsir atau diwarnai untuk menunjukkan nilai co-relation.

Semakin gelap warnanya, semakin tinggi co-relation antar variabel. Co-relation positif ditunjukkan dengan warna biru dan co-relation negatif ditunjukkan dengan warna merah. Intensitas warna sebanding dengan nilai co-relation nya.

Dari data set kita, mari kita periksa co-relation antara Item cost (harga barang), weight (beratnya), visibility (visibilitas) bersama dengan tahun pendirian outlet (Year establishment Outlet) dan penjualan outlet (Outlet sales) dari plot di bawah ini.

Dari contoh kita, terlihat bahwa Item cost dan Outlet sales berkorelasi positif, sedangkan Item weight dan visibilitasnya berkorelasi negatif.

correlogram.png

Berikut ini adalah kode R untuk correlogram sederhana menggunakan fungsi corrgram().

install.packages(“corrgram”)

library(corrgram)
corrgram(train, order=NULL, panel=panel.shade, text.panel=panel.txt,
main=”Correlogram”)

Nah sekarang, saya kira mudah bagi Anda untuk melakukan visualisasi data dengan paket ggplot2 di pemrograman R.

Selamat mencoba.

Sumber: https://www.r-bloggers.com/7-visualizations-you-should-learn-in-r/

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s