Visualisasi Data
Instalasi awal R sudah memiliki fungsi-fungsi plotting untuk visualisasi data. Tapi kebanyakan pengguna R sekarang lebih menyukai plotting menggunakan package ggplot2 yang merupakan bagian dari metapackage tidyverse. Karenanya, buku ini fokus menjelaskan pembuatan grafik dengan package ggplot2.
Package ggplot2 sudah ikut terinstall ketika menginstall metapackage tidyverse. Dengan memuat package tidyverse, package ggplot2 juga ikut termuat bersama package lain seperti dplyr yang juga akan digunakan pada bab ini.
library(tidyverse)
Jika anda telah menjalankan seluruh langkah di bab Menyiapkan Data, anda sudah memiliki file datakab.rds yang akan digunakan dalam bab ini. Jika anda belum memiliki file tersebut di folder kerja anda, download dulu file tersebut dengan menghapus tanda komentar (#) di depan perintah download.file
# download.file("https://github.com/msaidf/statek/raw/master/content/datakab.rds", "datakab.rds")
datakab = readRDS('datakab.rds')
options(repr.plot.width = 5, repr.plot.height = 4)
Diagram Garis
- gunakan
geom_lineuntuk diagram garis - gunakan aestetik
coluntuk membedakan grafik dengan warna garis
pov_java = datakab %>% filter(str_detect(region_name, 'Jawa')) %>%
ggplot(aes(x = year)) +
geom_line(aes(y = poverty_rate, col = region_name))
pov_java
Histogram
- Gunakan
geom_histuntuk menggambarkan distribusi frekuensi variabel dengan histogram. facet_wrapbisa digunakan untuk memisahkan grafik berdasar nilai variabel tertentu.
pov_hist = datakab %>%
ggplot(aes(poverty_rate)) +
geom_histogram() +
facet_wrap(~ year)
pov_hist
Grafik di atas walau sudah cukup jelas, bisa dipercantik dengan menggunakan aestetik fill untuk membedakan warna pengisi histogram, tidak seperti col yang hanya mewarnai garis batasnya.
- Jadikan
yearsebagai faktor dengan perintahas.factoragar warna yang digunakan adalah multi warna, bukan cuma gradasi dari satu warna - Jika nilai unik variabel yang dijadikan warna terlalu banyak, legenda keterangan warna akan memenuhi atau bahkan tidak muat ditampilkan di grafik. Lagipula di sini legenda warna tidak lagi perlu, karena warna itu hanya untuk memperindah, sementara informasi tahun sudah ada labelnya di tiap grafik. Karenanya, legenda warna itu bisa dihilangkan saja dengan
theme(legend.position = 'none')
pov_hist + geom_histogram(aes(fill = as.factor(year))) + theme(legend.position = 'none')
Scatter Plot
Untuk menampilkan seluruh titik yang menghubungkan nilai kedua variabel, gunakan geom_point
hdi_pov_point = datakab %>%
ggplot(aes(human_development_index, poverty_rate)) +
geom_point()
hdi_pov_point
Gunakan geom_smooth untuk menambahkan garis trend secara otomatis. geom_smooth secara default menggunakan metode loess untuk menggambar garis trend.
(hdi_pov_smooth = .Last.value + geom_smooth())
Gunakan argumen method = lm untuk menggambarkan garis trend dengan metode regresi linier. Standard error bisa dihilangkan dengan argumen se = FALSE.
(hdi_pov_lm = hdi_pov_point + geom_smooth(method = 'lm', se = F))
- grafik terakhir dapat disimpan ke file dengan
ggsave ggsavejuga dapat memilih grafik yang sudah disimpan sebagai obyek
ggsave('hdi_pov_lm.png')
ggsave('hdi_pov_smooth.pdf', hdi_pov_smooth)
Mengubah jadi Grafik Interaktif
Gunakan plotly::ggplotly untuk mengubah grafik ggplot menjadi interaktif.
# install.packages('plotly')
pov_java %>% plotly::ggplotly()





