題目要求
作業内容:在30000個人中抽取100000次,抽樣數量依次為20,40,…500,并最後以抽取數量為自變量,機率為因變量作圖。
檔案下載下傳位址點選這裡
考察知識點
- 規則向量的生成
- 如何在向量中添加資料
- mean、sample的使用
- 繪圖函數plot的使用
思路
首先讀取資料,因為得到的資料是data.frame格式,我們先将其轉化為矩陣形式,然後轉化為一維向量格式,便于抽取樣本。
做一個雙重循環,針對每個樣本容量,都進行100000次實驗,變量sum用來統計符合條件的次數。使用sample函數,指定replace=FALSE表示取出不放回,對取出的資料計算平均值,判斷平均值是否在169~170之間,如果滿足這個條件sum就加1,最後通過sum與實驗次數(100000)的比值計算機率。使用append函數,将計算得到的機率添加在清單good_sample_p中。
使用plot繪圖函數,指定xlab和ylab标簽,再指定圖像類型為點劃線,最後使用title函數添加标題
代碼
a <- read.csv('heigh_30000.csv')
a <- as.matrix(a)
data <- as.vector(a)
good_sample_p <- c()
for (i in seq(20,500,by=20)){
sum <- 0 # 記錄滿足條件的個數
for (j in 1:100000){
x <- sample(data,i,replace=FALSE) # 抽取不放回
y <- mean(x,trim=0,na.rm=TRUE) # trim=0不修剪掉排在首尾的部分 ,na.rm=TRUE移除預設值
if( 169<y && y<170){
sum <- sum+1
}
}
p <- sum/100000 # 計算機率
good_sample_p <- append(good_sample_p,p)
}
# 添加x,y資料,設定x軸,y軸标簽,也可以在title函數中放置
plot(seq(20,500,by=20), good_sample_p,type = 'b',xlab = 'Sample size',ylab = 'Good sample probability')
# 添加标題
title('Relationship between Sample size and Good sample probability', col.lab = 2, cex.lab = 2)