Panduan untuk dnorm, pnorm, qnorm dan rnorm di r


Distribusi normal adalah distribusi yang paling umum digunakan dalam statistik. Tutorial ini menjelaskan cara menggunakan distribusi normal di R menggunakan fungsi dnorm , pnorm , rnorm , dan qnorm .

sangat buruk

Fungsi dnorm mengembalikan nilai fungsi kepadatan probabilitas (pdf) dari distribusi normal dengan beberapa variabel acak x , rata-rata populasi μ , dan deviasi standar populasi σ . Sintaks penggunaan dnorm adalah sebagai berikut:

dnorm(x, berarti, sd)

Kode berikut menunjukkan beberapa contoh tindakan dnorm :

 #find the value of the standard normal distribution pdf at x=0
dnorm(x=0, mean=0, sd=1)
#[1]0.3989423

#by default, R uses mean=0 and sd=1
dnorm(x=0)
#[1]0.3989423

#find the value of the normal distribution pdf at x=10 with mean=20 and sd=5
dnorm(x=10, mean=20, sd=5)
#[1]0.01079819

Biasanya, ketika mencoba menyelesaikan pertanyaan tentang probabilitas menggunakan distribusi normal, Anda akan sering menggunakan pnorm daripada dnorm . Namun, penerapan dnorm yang berguna adalah membuat plot distribusi normal di R. Kode berikut mengilustrasikan cara melakukannya:

 #Create a sequence of 100 equally spaced numbers between -4 and 4
x <- seq(-4, 4, length=100)

#create a vector of values that shows the height of the probability distribution
#for each value in x
y <- dnorm(x)

#plot x and y as a scatterplot with connected lines (type = "l") and add
#an x-axis with custom labels
plot(x,y, type = "l", lwd = 2, axes = FALSE, xlab = "", ylab = "")
axis(1, at = -3:3, labels = c("-3s", "-2s", "-1s", "mean", "1s", "2s", "3s"))

Ini menghasilkan plot berikut:

normal

Fungsi pnorm mengembalikan nilai fungsi kepadatan kumulatif (cdf) dari distribusi normal dengan beberapa variabel acak q , rata-rata populasi μ , dan deviasi standar populasi σ . Sintaks penggunaan pnorm adalah sebagai berikut:

pnorm(q, rata-rata, sd)

Secara sederhana, pnorm mengembalikan luas di sebelah kiri nilai x tertentu dalam distribusi normal. Jika Anda tertarik pada area di sebelah kanan nilai q tertentu, Anda cukup menambahkan argumen lower.tail = FALSE

pnorm(q, rata-rata, sd, lebih rendah.ekor = FALSE)

Contoh berikut mengilustrasikan cara menyelesaikan beberapa pertanyaan probabilitas menggunakan pnorm.

Contoh 1: Misalkan tinggi badan laki-laki di suatu sekolah berdistribusi normal dengan rata-rata simpangan baku

 #find percentage of males that are taller than 74 inches in a population with
#mean = 70 and sd = 2
pnorm(74, mean=70, sd=2, lower.tail=FALSE)

# [1]0.02275013

Di sekolah ini, 2,275% pria memiliki tinggi badan lebih dari 74 inci.

Contoh 2: Misalkan berat spesies berang-berang tertentu berdistribusi normal dengan rata-rata simpangan baku

 #find percentage of otters that weight less than 22 lbs in a population with
#mean = 30 and sd = 5
pnorm(22, mean=30, sd=5)

# [1]0.05479929

Sekitar 5,4799% spesies berang-berang ini memiliki berat kurang dari 22 pon.

Contoh 3: Misalkan tinggi tanaman di suatu daerah berdistribusi normal dengan rata-rata simpangan baku

 #find percentage of plants that are less than 14 inches tall, then subtract the
#percentage of plants that are less than 10 inches tall, based on a population
#with mean = 13 and sd = 2
pnorm(14, mean=13, sd=2) - pnorm(10, mean=13, sd=2)

# [1]0.6246553

Sekitar 62,4655% tanaman di wilayah ini tingginya antara 10 dan 14 inci.

norma

Fungsi qnorm mengembalikan nilai fungsi kepadatan kumulatif terbalik (cdf) dari distribusi normal dengan beberapa variabel acak p , rata-rata populasi μ , dan deviasi standar populasi σ . Sintaks penggunaan qnorm adalah sebagai berikut:

qnorm (p, mean, sd)

Secara sederhana, Anda dapat menggunakan qnorm untuk mengetahui berapa skor Z kuantil pth dari distribusi normal.

Kode berikut menunjukkan beberapa contoh tindakan qnorm :

 #find the Z-score of the 99th quantile of the standard normal distribution 
qnorm(.99, mean=0, sd=1)
#[1]2.326348

#by default, R uses mean=0 and sd=1
qnorm(.99)
#[1]2.326348

#find the Z-score of the 95th quantile of the standard normal distribution
qnorm(.95)
#[1]1.644854

#find the Z-score of the 10th quantile of the standard normal distribution
qnorm(.10)
#[1]-1.281552

norma

Fungsi rnorm menghasilkan vektor variabel acak yang terdistribusi normal dengan panjang vektor n , rata-rata populasi μ , dan deviasi standar populasi σ . Sintaks penggunaan rnorm adalah sebagai berikut:

norma(n, rata-rata, sd)

Kode berikut menunjukkan beberapa contoh tindakan rnorm :

 #generate a vector of 5 normally distributed random variables with mean=10 and sd=2
five <- rnorm(5, mean = 10, sd = 2)
five
# [1] 10.658117 8.613495 10.561760 11.123492 10.802768

#generate a vector of 1000 normally distributed random variables with mean=50 and sd=5
narrowDistribution <- rnorm(1000, mean = 50, sd = 15)

#generate a vector of 1000 normally distributed random variables with mean=50 and sd=25
wideDistribution <- rnorm(1000, mean = 50, sd = 25)

#generate two histograms to view these two distributions side by side, specify
#50 bars in histogram and x-axis limits of -50 to 150
par(mfrow=c(1, 2)) #one row, two columns
hist(narrowDistribution, breaks=50, xlim=c(-50, 150))
hist(wideDistribution, breaks=50, xlim=c(-50, 150))

Ini menghasilkan histogram berikut:

Perhatikan bagaimana distribusi yang luas jauh lebih luas dibandingkan dengan distribusi yang sempit. Memang benar, kami menetapkan bahwa simpangan baku pada distribusi luas adalah 25, dibandingkan dengan hanya 15 pada distribusi sempit. Perhatikan juga bahwa kedua histogram berpusat di sekitar mean 50.

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *