Cara membuat plot qq di ggplot2 (dengan contoh)
Plot QQ, kependekan dari “quantile-quantile,” digunakan untuk mengevaluasi apakah suatu kumpulan data berpotensi berasal dari distribusi teoretis.
Dalam kebanyakan kasus, jenis plot ini digunakan untuk menentukan apakah suatu kumpulan data mengikuti distribusi normal atau tidak.
Jika data berdistribusi normal, titik-titik pada plot QQ akan terletak pada garis lurus diagonal.
Sebaliknya, jika titik-titik tersebut menyimpang secara signifikan dari garis lurus diagonal, maka kecil kemungkinan data tersebut berdistribusi normal.
Untuk membuat plot QQ di ggplot2, Anda dapat menggunakan fungsi stat_qq() dan stat_qq_line() sebagai berikut:
library (ggplot2)
ggplot(df, aes(sample=y)) +
stat_qq() +
stat_qq_line()
Contoh berikut menunjukkan cara menggunakan sintaksis ini untuk membuat plot QQ dalam dua skenario berbeda.
Contoh 1: Plot QQ untuk data normal
Kode berikut menunjukkan cara menghasilkan kumpulan data yang terdistribusi normal dengan 200 observasi dan membuat plot QQ untuk kumpulan data tersebut di R:
library (ggplot2) #make this example reproducible set. seeds (1) #create some fake data that follows a normal distribution df <- data. frame (y=rnorm(200)) #create QQ plot ggplot(df, aes(sample=y)) + stat_qq() + stat_qq_line()
Kita dapat melihat bahwa titik-titik tersebut terutama terletak di sepanjang garis diagonal lurus dengan beberapa penyimpangan kecil di sepanjang masing-masing ekornya.
Berdasarkan grafik ini, kita berasumsi bahwa dataset ini berdistribusi normal.
Perhatikan bahwa kita juga bisa menggunakan argumen warna dan ukuran untuk mengubah warna dan ukuran titik di plot jika kita mau:
library (ggplot2) #make this example reproducible set. seeds (1) #create some fake data that follows a normal distribution df <- data. frame (y=rnorm(200)) #create QQ plot ggplot(df, aes(sample=y)) + stat_qq(size= 2.5 , color=' red ') + stat_qq_line()
Contoh 2: Plot QQ untuk data tidak normal
Kode berikut menunjukkan cara membuat plot QQ untuk kumpulan data yang mengikuti distribusi eksponensial dengan 200 observasi:
#make this example reproducible set. seeds (1) #create some fake data that follows an exponential distribution df <- data. frame (y=rexp( 200 , rate= 3 )) #create QQ plot ggplot(df, aes(sample=y)) + stat_qq() + stat_qq_line()
Kita melihat bahwa titik-titiknya sangat menyimpang dari garis diagonal. Hal ini jelas menunjukkan bahwa dataset tidak berdistribusi normal.
Hal ini masuk akal mengingat kami menetapkan bahwa data harus mengikuti distribusi eksponensial.
Sumber daya tambahan
Tutorial berikut menjelaskan cara melakukan tugas umum lainnya di ggplot2:
Cara memplot banyak baris di ggplot2
Cara memplot mean dan deviasi standar di ggplot2
Cara mengubah warna garis di ggplot2