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_line
untuk diagram garis - gunakan aestetik
col
untuk 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_hist
untuk menggambarkan distribusi frekuensi variabel dengan histogram. facet_wrap
bisa 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
year
sebagai faktor dengan perintahas.factor
agar 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
ggsave
juga 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()