R語言作業:樣本容量與好樣本概率的關係

一盒南京發表於2020-11-02

題目要求

作業內容:在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), p_list,type = 'b',xlab = 'Sample size',ylab = 'Good sample probability')
# 新增標題
title('Relationship between Sample size and Good sample probability', col.lab = 2, cex.lab = 2)

截圖

在這裡插入圖片描述

相關文章