R学习之统计实验(三)--报童问题(R语言编程)-----数模

17 篇文章 11 订阅

问题

设某报每日的潜在卖报数数服从参数为lambda的Poisson分布.每卖出一份报可得报酬a 元,卖不掉退回则侮每份赔偿b元.若某日该报童买 进n份报,试求其期望所得,并对a=1.5, b=0.6, lambda=120,买进报数n1= 100.n2 = 140分别作模拟分析.

直接R模拟(大数定律)

newspaper<-function(n,lambda,m,a,b){
  y=0
  for(i in 1:n){
    x<-rpois(1,lambda)
    if(x<=m){y[i]=a*x-b*(m-x)}
    if(x>m){y[i]=a*m}
  }
  rt=mean(y);rt
}
newspaper(10000,120,100,1.5,0.6)
newspaper(10000,120,140,1.5,0.6)

其中函数说明

rpois
rpois(n, lambda) 产生Poisson分布的n个数

> rpois(5,120)
[1] 145 130 141 107 142

下面列举各种分布

下面先列举各种分布:
rnorm(n, mean=0, sd=1) #高斯(正态)分布
rexp(n, rate=1) #指数分布
rgamma(n, shape, scale=1) #γ分布 
rpois(n, lambda) #Poisson分布
rweibull(n, shape, scale=1) #Weibull分布 
rcauchy(n, location=0, scale=1) #Cauchy分布 
rbeta(n, shape1, shape2) #β分布 
rt(n, df) #t分布 
rf(n, df1, df2) #F分布 
rchisq(n, df) #χ 2 分布
rbinom(n, size, prob)#二项分布 
rgeom(n, prob)#几何分布
rhyper(nn, m, n, k) #超几何分布
rlogis(n, location=0, scale=1) #logistic分布
rlnorm(n, meanlog=0, sdlog=1)#对数正态
rnbinom(n, size, prob)#负二项分布
runif(n, min=0, max=1)#均匀分布
rwilcox(nn, m, n), rsignrank(nn, n) #Wilcoxon分布

结果

> source('C:/Users/默默/Desktop/R/newspaper.R', echo=TRUE)

> newspaper<-function(n,lambda,m,a,b){
+   y=0
+   for(i in 1:n){
+     x<-rpois(1,lambda)
+     if(x<=m){y[i]=a*x-b*(m-x)}
+     if(x>m){y[i]=a*m}
+  .... [TRUNCATED] 

> newspaper(10000,120,100,1.5,0.6)
[1] 149.7175

> newspaper(10000,120,140,1.5,0.6)
[1] 167.5516

DONE!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值