欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

R语言作业:样本容量与好样本概率的关系

程序员文章站 2022-03-23 08:32:17
...

题目要求

作业内容:在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)

截图

R语言作业:样本容量与好样本概率的关系

相关标签: R语言 r语言