Dalam statistik, plot Q-Q (Quantile-quantile) digunakan untuk mengetahui apakah data telah di-follow oleh distribusi normal. Dalam plot Q-Q, titik-titik data dipasangkan dengan garis diagonal yang lurus, dan jika data tersebut berdistribusi normal, maka titik-titiknya akan sebagian besar mengikuti garis diagonal tersebut.
Dalam artikel ini, kita akan belajar bagaimana membuat plot Q-Q menggunakan paket ggplot2 di R. Paket ggplot2 adalah salah satu paket yang paling populer digunakan untuk data visualization di R.
Fungsi Utama
Fungsi utama yang digunakan dalam plot Q-Q adalah stat_qq()
. Fungsi ini memiliki beberapa argument, seperti color
, shape
, dan size
, yang dapat digunakan untuk mengubah warna, bentuk, dan ukuran titik-titik pada plot.
Persiapan Data
Dalam contoh berikut, kita akan membuat data secara sintetik menggunakan fungsi rnorm()
di R. Kita akan membuat data dengan 200 observasi, dengan mean 55 untuk laki-laki dan mean 58 untuk perempuan.
set.seed(1234)
wdata = data.frame(
sex = factor(rep(c("F", "M"), each=200)),
weight = c(rnorm(200, 55), rnorm(200, 58))
)
Pemuatan Paket
Kita harus memuat paket ggplot2 di R sebelum membuat plot Q-Q. Kita juga dapat mengatur tema default menjadi theme_minimal()
dengan posisi legenda di atas plot.
library(ggplot2)
theme_set(
theme_minimal() +
theme(legend.position = "top")
)
Membuat Plot Q-Q
Kita akan membuat plot Q-Q untuk data weight dengan mengubah warna berdasarkan kelamin (laki-laki atau perempuan).
ggplot(wdata, aes(sample = weight)) +
stat_qq(aes(color = sex)) +
scale_color_manual(values = c("#00AFBB", "#E7B800"))+
labs(y = "Weight")
Alternative Plot
Kita juga dapat membuat plot Q-Q menggunakan fungsi ggqqplot()
dari paket ggpubr. Fungsi ini akan menampilkan garis kepercayaan 95% secara default.
library(ggpubr)
ggqqplot(wdata, x = "weight",
color = "sex",
palette = c("#0073C2FF", "#FC4E07"),
ggtheme = theme_pubclean())
Kesimpulan
Dalam artikel ini, kita telah belajar bagaimana membuat plot Q-Q menggunakan paket ggplot2 di R. Plot Q-Q ini dapat digunakan untuk mengetahui apakah data telah di-follow oleh distribusi normal atau tidak.