一、理解正態分布概念
正態分布(Normal Distribution)又稱高斯分布(Gaussian Distribution),是具有重要意義的連續概率分布,因其呈鐘形曲線而得名。在實際應用中,正態分布廣泛用於自然和社會科學領域的隨機變數的研究中,如身高、體重、濃度、成績等。
正態分布的概率密度函數是一個在整個實數軸上關於μ對稱的鐘形曲線。它的函數表達式為:
dnorm(x, mean = μ, sd = σ)
其中,dnorm 表示求正態分布的概率密度函數的值;x表示隨機變數的取值;mean 表示該隨機變數的平均值μ;sd表示該隨機變數的標準差σ。當μ=0,σ=1時,就是標準正態分布。
二、生成正態分布隨機數
R語言中,可以使用 rnorm 函數來生成正態分布隨機數。其函數用法如下:
rnorm(n, mean = 0, sd = 1)
其中,n 表示生成隨機數的個數;mean 表示生成隨機數的平均值;sd 表示生成隨機數的標準差。如果不指定 mean 和 sd 的值,則默認生成標準正態分布隨機數。
下面的代碼演示如何使用 rnorm 函數生成10個標準正態分布的隨機數,並在直方圖上顯示:
set.seed(123)
x <- rnorm(10)
hist(x, main="標準正態分布的直方圖",
xlab="隨機數值", ylab="頻數",
ylim=c(0, 5), col="gray")
三、控制隨機數的範圍和分布
有時候,我們需要控制生成的隨機數在一定的範圍內,這時候可以使用 scale 和 shift 參數來調整生成的隨機數的分布。具體來說,我們可以使用以下公式:
x <- rnorm(n, mean = μ, sd = σ) * scale + shift
其中,scale 表示隨機數的比例因子;shift 表示隨機數的平移因子。如果需要使生成的隨機數在一個固定的區間內,還可以使用以下代碼來控制:
x <- pmax(pmin(x, upper), lower)
其中,lower 和 upper 分別表示隨機數的下限和上限。
四、應用實例
下面的代碼演示如何使用 rnorm 函數生成100個平均數為5,標準差為2的正態分布隨機數,並繪製出它們的概率密度曲線和直方圖:
set.seed(123)
x <- rnorm(100, mean = 5, sd = 2)
plot(density(x), main="正態分布的概率密度曲線",
xlab="隨機數值", ylab="概率密度",
xlim=c(0, 10), col="red")
hist(x, main="正態分布的直方圖",
xlab="隨機數值", ylab="頻數",
ylim=c(0, 35), col="gray")
該實例生成的隨機數分布在5左右,並呈現出較為平滑的概率密度曲線和鐘形的直方圖,符合正態分布特徵。
五、結語
R語言中提供了多種方法來生成正態分布隨機數,通過上述代碼的介紹,我們可以靈活地應用這些函數來滿足實際需求。在實際應用中,需要注意控制隨機數的範圍和分布,以保證生成的數據符合實際需求。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183324.html