R語言正態分布


在隨機收集來自獨立來源的資料中,通常觀察到資料的分布是正常的。 這意味著,在繪製水平軸上的變數的值和垂直軸中的值的計數時,我們得到一個鐘形曲線。 曲線的中心代表資料集的平均值。 在圖中,百分之五十的值位於平均值的左側,另外五十分之一位於圖的右側。 統稱為正態分布。

R有四個內建函式來生成正態分布。它們在下面描述 -

dnorm(x, mean, sd)
pnorm(x, mean, sd)
qnorm(p, mean, sd)
rnorm(n, mean, sd)

以下是上述函式中使用的引數的描述 -

  • x - 是數位的向量。
  • p - 是概率向量。
  • n - 是觀察次數(樣本量)。
  • mean - 是樣本資料的平均值,預設值為零。
  • sd - 是標準偏差,預設值為1

1.dnorm()函式

該函式給出給定平均值和標準偏差在每個點的概率分布的高度。

setwd("F:/worksp/R")
# Create a sequence of numbers between -10 and 10 incrementing by 0.1.
x <- seq(-10, 10, by = .1)

# Choose the mean as 2.5 and standard deviation as 0.5.
y <- dnorm(x, mean = 2.5, sd = 0.5)

# Give the chart file a name.
png(file = "dnorm.png")

plot(x,y)

# Save the file.
dev.off()

當我們執行上述程式碼時,會產生以下結果 -

2.pnorm()函式

該函式給出正態分佈亂數小於給定數值的概率。它也被稱為「累積分布函式」。

setwd("F:/worksp/R")
# Create a sequence of numbers between -10 and 10 incrementing by 0.2.
x <- seq(-10,10,by = .2)

# Choose the mean as 2.5 and standard deviation as 2. 
y <- pnorm(x, mean = 2.5, sd = 2)

# Give the chart file a name.
png(file = "pnorm.png")

# Plot the graph.
plot(x,y)

# Save the file.
dev.off()

當我們執行上述程式碼時,會產生以下結果 -

3.qnorm()函式

該函式採用概率值,並給出其累積值與概率值匹配的數位值。

setwd("F:/worksp/R")
# Create a sequence of probability values incrementing by 0.02.
x <- seq(0, 1, by = 0.02)

# Choose the mean as 2 and standard deviation as 3.
y <- qnorm(x, mean = 2, sd = 1)

# Give the chart file a name.
png(file = "qnorm.png")

# Plot the graph.
plot(x,y)

# Save the file.
dev.off()

當我們執行上述程式碼時,會產生以下結果 -

4.rnorm()函式

該函式用於生成分布正常的亂數,它將樣本大小作為輸入,並生成許多亂數。我們繪製直方圖以顯示生成數位的分布。

setwd("F:/worksp/R")
# Create a sample of 50 numbers which are normally distributed.
y <- rnorm(50)

# Give the chart file a name.
png(file = "rnorm.png")

# Plot the histogram for this sample.
hist(y, main = "正態分布")

# Save the file.
dev.off()

當我們執行上述程式碼時,會產生以下結果 -