統計的世界中經常用到此定理,這裡運用程式語言中好用的for迴圈技巧並且以Binomial分配來近似常態
p <- 0.2 #binomial的機率參數為0.2
total_n <- c(10,30,50,80) #設定10,30,50,80四種樣本數
k <- 2000 #每種樣本數利用2000個Z值來觀察
for(n in total_n) #第一個for n 設定為total_n
{
Zn = NULL #清空每一次畫完圖後存在Zn的值
for(j in 1:k) #第二個for j設定為1到K
{
Xn = rbinom(1,n,p) #Xn為由隨機二項分配(參數n,p)取出一個值
Zn[j]=(Xn/n - p)/sqrt(p*(1-p)/n) #Z值依據j的範圍(1:K)算出值
}
hist(Zn, #利用Zx值換出直方圖
breaks = 25, #組別設定25為間隔
main = paste("n = ",n), #標題設定為n = 後面貼上每個樣本數
col = "green" #設定綠色
)
}
當在設計for迴圈時,排版上建議要排好程式碼的前後距離,以防迴圈錯誤時可以快速修正,在圖形中可以觀察出中央極限定理所謂的足夠樣本數,當樣本越多可以看出分配圖形越靠近常態分配。
本篇筆記參考“R軟體:應用統計方法”(作者:陳景祥)