R'de dnorm, pnorm, qnorm ve rnorm kılavuzu
Normal dağılım istatistikte en sık kullanılan dağılımdır. Bu eğitimde dnorm , pnorm , rnorm ve qnorm işlevlerini kullanarak R’de normal dağılımın nasıl kullanılacağı açıklanmaktadır.
devasa
Dnorm işlevi, bazı rastgele değişken x , popülasyon ortalaması μ ve popülasyon standart sapması σ verildiğinde normal dağılımın olasılık yoğunluk fonksiyonunun (pdf) değerini döndürür. Dnorm’u kullanmanın sözdizimi aşağıdaki gibidir:
dnorm(x, ortalama, sd)
Aşağıdaki kod, dnorm’un uygulamalı bazı örneklerini göstermektedir:
#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
Tipik olarak normal dağılım kullanarak olasılık hakkındaki soruları çözmeye çalışırken genellikle dnorm yerine pnorm kullanırsınız. Ancak dnorm’un yararlı bir uygulaması R’de normal dağılım grafiği oluşturmaktır. Aşağıdaki kod bunun nasıl yapılacağını göstermektedir:
#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"))
Bu, aşağıdaki grafiği oluşturur:
normal
Pnorm işlevi, bazı rastgele değişkenler q , bir popülasyon ortalaması μ ve bir popülasyon standart sapması σ verildiğinde normal dağılımın kümülatif yoğunluk fonksiyonunun (cdf) değerini döndürür. pnorm’u kullanmanın sözdizimi aşağıdaki gibidir:
pnorm(q, ortalama, sd)
Basit bir ifadeyle pnorm , normal dağılımda belirli bir x değerinin solundaki alanı döndürür. Belirli bir q değerinin sağındaki alanla ilgileniyorsanız, basitçe less.tail = FALSE argümanını ekleyebilirsiniz.
pnorm(q, ortalama, sd, alt.kuyruk = YANLIŞ)
Aşağıdaki örnekler pnorm kullanarak bazı olasılık sorularının nasıl çözüleceğini göstermektedir.
Örnek 1: Belirli bir okuldaki erkeklerin boyunun ortalama standart sapmanın
#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
Bu okulda erkeklerin %2275’inin boyu 74 inçten fazladır.
Örnek 2: Belirli bir su samuru türünün ağırlığının standart sapması ile normal şekilde dağıldığını varsayalım.
#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
Bu su samuru türünün yaklaşık %5,4799’unun ağırlığı 22 pound’dan azdır.
Örnek 3: Belirli bir bölgedeki bitkilerin boyunun ortalama standart sapmanın
#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
Bu bölgedeki bitkilerin yaklaşık %62,4655’inin boyu 10 ila 14 inç arasındadır.
normal
Qnorm işlevi, bazı rastgele değişken p , popülasyon ortalaması μ ve popülasyon standart sapması σ verildiğinde normal dağılımın ters kümülatif yoğunluk fonksiyonunun (cdf) değerini döndürür. Qnorm’u kullanmanın sözdizimi aşağıdaki gibidir:
qnorm (p, ortalama, sd)
Basit bir ifadeyle, normal dağılımın p’inci yüzdelik kısmının Z puanının ne olduğunu bulmak için qnorm’u kullanabilirsiniz.
Aşağıdaki kod, qnorm’un bazı uygulama örneklerini göstermektedir:
#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
normal
rnorm işlevi, bir vektör uzunluğu n , bir popülasyon ortalaması μ ve bir popülasyon standart sapması σ verilen normal dağılmış rastgele değişkenlerden oluşan bir vektör üretir. Rnorm’u kullanmanın sözdizimi aşağıdaki gibidir:
rnorm(n, ortalama, sd)
Aşağıdaki kod, rnorm’un eylem halindeki bazı örneklerini gösterir:
#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))
Bu, aşağıdaki histogramları oluşturur:
Geniş dağılımın dar dağılımdan çok daha geniş olduğuna dikkat edin. Nitekim geniş dağılımda standart sapmanın 25 olduğunu, dar dağılımda ise sadece 15 olduğunu belirtmiştik. Ayrıca her iki histogramın da 50 ortalamasının etrafında ortalandığını unutmayın.