Skip to main content

Cara Membuat Kurva Distribusi Normal dengan R

Distribusi Normal adalah distribusi peluang yang memiliki kurva berbentuk lonceng dan simetris. Kurva distribusi normal merupakan sebuah poligon yang terbentuk dari suatu histogram. Poligon tersebut telah diperhalus sehingga membentuk suatu fungsi distribusi normal \(f(x|\mu,\sigma^2)\) yang memiliki parameter rata-rata \((\mu)\) dan varian \((\sigma^2)\) serta memiliki luas kurva sama dengan satu.

Membuat kurva distribusi normal yang memiliki nilai parameter rata-rata sama dengan \(\mu,\) varian sama dengan \(\sigma^2\) dan memiliki luas kurva sama dengan satu tentu saja sangat sulit. Namun kita bisa membuatnya secara otomatis dengan menggunakan software, misalnya dengan menggunakan software Minitab.

Artikel ini khusus membahas cara membuat histogram dan kurva distribusi normal dengan menggunakan R.

Histogram

Histogram dibentuk oleh sekelompok data, oleh karena itu bangkitkan (generate) data pembentuknya terlebih dahulu. Data yang dibangkitkan adalah data yang berdistribusi normal. Kode yang digunakan adalah

# tetapkan banyaknya data
n <- 1000

# definisikan rata-rata
>mu <- 40

# definisikan varian
var <- 16

# standar deviasi adalah akar dari varian
std <- sqrt(var)

# bangkitkan data distribusi normal
x <- rnorm(n, mu, std)

Buat histogram menggunakan kode hist() dari data yang telah dibangkitkan.

hist(x, xlab="X", ylab="Frekuensi", main="Histogram X")

Outputnya:


Overlay Kurva Normal ke Histogram

Sebelum melakukan overlay, buat histogram terlebih dahulu, kemudian buat kurva dengan kode curve().

# buat histogram
hist(x, prob=TRUE, xlab="Variabel X", ylab="Kepadatan",
     ylim=c(0, 0.12), main="Overlay Histogram dan Kurva Distribusi Normal")

# overlay histogram dengan kurva
curve(dnorm(x, mean=mu, sd=std), col="darkblue", lwd=1, add=TRUE)

Outputnya:


Kurva Distribusi Normal Baku

Distribusi Normal Baku adalah distribusi normal yang memiliki \(\mu\) sama dengan 0 dan \(\sigma^2\) sama dengan 1. Kode untuk membuat distribusi normal baku dengan R adalah sebagai berikut.

x <- seq(-3, 3, 0.1)
plot(x, dnorm(x, mean=0, sd=1), type="l")

Outputnya: