提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
以模拟硬币实验为例,本实例要达成以下目标:
抛n次硬币,统计结果。计算正面向上的频率。
重复此试验m次,统计每次试验所得的正面向上的频率pi(i=1,2,3…m)。
画出pi的折线统计图,表示m次试验过程中频率的浮动情况.
最终得出以下结论:
在抛硬币试验中,每次试验中抛硬币的次数n越大,正面向上的频率越容易达到理论频率0.5.
体现在折现统计图中,当n较小时,m次试验后频率波动的幅度越大。当n较大时,频率波动幅度较小(稳定在0.5附近)
一、加载宏包
library(ggplot2)
二、作图过程
x = sample(0:1,10,replace=TRUE); #通过sample()函数,从0和1两个整数中随机抽样,模拟抛硬币的结果,0代表反面,1代表正面. 这条代码中进行了10次抽样.并将结果保存在变量x中.
p = length(x[x==1])/10; #利用length()函数计算结果中1出现的次数。除以10计算频率,然后保存为变量p。
上面的操作我们要进行100次,并把每次的结果保存下来,接下来将利用循环语句实现这个过程。
M = cbind(seq(1,100,by=1),rep(0,100)) #创建一个100×2的向量用于储存结果。
j = 1 #用于每次循环中指定m的行指标
for (i in 1:100){
x = sample(0:1,10,replace=TRUE)
p = length(x[x==1])/10;
M[j,2] = p; #把频率t 保存在矩阵m[j,2]中
j = j+1 #进行一次循环后行+1
}
运行一次上面代码后,