Biostatistics(11)在一张图里绘制两个直方图

以下述情景为例在一张图里绘制两个直方图:
我们将红球标记为1,白球标记为0,红白球各4个,共有8个球。从中抽取4个球,我们计算4个球中红球的平均值(e.g., 0, 1, 1, 0 -> 平均值 = 0.5)。假设总共抽样1000次,放回与不放回抽样的结果会产生什么区别?

ball<-c(rep(0,4),rep(1,4))
s1<-sample(ball,4,replace = FALSE)#从中抽取4个球(不放回)
sample_means<-mean(s1)#计算红球平均值
for(i in 1:999){
  s1<-sample(ball,4,replace = FALSE)
  sample_means<-cbind(sample_means,mean(s1))
}#重复999次,共计1000次
h1<-hist(sample_means)#绘制直方图

s2<-sample(ball,4,replace = TRUE)#从中抽取4个球(放回)
sample_means_re<-mean(s2)
for(i in 1:999){
  s2<-sample(ball,4,replace=TRUE)
  sample_means_re<-cbind(sample_means_re,mean(s2))
}
h2<-hist(sample_means_re)

此时会发现两种情况的图是两张图,那么如何合并,将两个直方图放在一张图中呢?

plot(h1,ann=FALSE,col='grey')#ann=FALSE,则调用plot.default对坐标轴名称、整体图像名称不做注解
plot(h2,col=rgb(0,100,0,30,maxColorValue = 255),add=T)#30为透明度,add=T,允许两个直方图在一张图上显示
legend(0.6,400,lty=c(1,1),col=c('grey',rgb(0,100,0,30,maxColorValue=255)),c('without replacement','with replacement'))
title(main="Histogram of sample means with or without replacement", xlab = "Sample mean", ylab="Frequency", cex.main=1.2)
Biostatistics(11)在一张图里绘制两个直方图_第1张图片
Result(8balls).png

可以发现放回与不放回最终的红球平均值分布有一定的差异。
但是当总体较大的时候,会发现放回与不放回抽样基本相同。


Biostatistics(11)在一张图里绘制两个直方图_第2张图片
1000balls.png

你可能感兴趣的:(Biostatistics(11)在一张图里绘制两个直方图)