项目1 :掷骰子

1.模拟掷骰子函数

roll<-function(){
  die<-1:6 
  dice<-sample(die,size=2,replace=TRUE) 
  sum(dice)}

2.对骰子进行加权

2.1均匀的骰子——通过【重复】、【可视化】工具来实现

通过replicate重复掷这一对骰子,并用qplot函数【R包】将重复抛掷的结果可视化

2.1.1 qplot函数【快速绘图】

  1.qplot函数

将两个长度相同数值向量交给qplot函数,就能绘制出一幅散点图。

qplot将第一个向量作为一组x值,第二个向量作为一组y值

  2.c函数——创建数值向量
> x<-c(-1,-0.8,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.8,1)
> x
 [1] -1.0 -0.8 -0.6 -0.4 -0.2  0.0  0.2  0.4  0.6  0.8  1.0
> y<-x^3
> y
 [1] -1.000 -0.512 -0.216 -0.064 -0.008  0.000  0.008  0.064  0.216  0.512
[11]  1.000
> qplot(x,y)

 散点图:描述两个变量之间的关系

3.直方图:可视化单一变量的分布情况

通过直方图可以直观地展示x的哪些值出现的频率较高

额外设置参数binwidth = 1

> library(ggplot2)
>  x<-c(0,1,1,2,2,2,3,3,4)
>  qplot(x,binwidth=1)

注:此图有错误

 2.1.2 replicate函数

replicate(10,roll())  提供重复的次数和重复运行的R代码

rolls<-replicate(1000,roll()) #replicate函数调用方法;返回值赋给rolls
qplot(rolls,binwidth=1.0) 

 2.2 实现加权概率

所有非6点数的概率减小到1/8,而提高点数6的概率为3/8

在sample函数中添加一个prob参数 (pdf48)

prob参数:第一个元素对应的是被抽样向量中的第一个元素的抽样权重
> roll<-function(){
  die<-1:6 
   dice<-sample(die,size=2,replace=TRUE,prob = c(1/8,1/8,1/8,1/8,1/8,3/8)) 
  sum(dice)} #用c函数来把一组向量赋给prob
> rolls<-replicate(1000,roll())
> qplot(rolls,binwidth=1)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值