【发布时间】:2017-03-10 20:47:07
【问题描述】:
我尝试编写一个脚本,该脚本模拟 100 次抛硬币,具有一定的成功概率、起始资金和一定数量的资金来停止游戏 ('l')。它返回成功的概率。该代码有效,但它返回一条错误消息。有人可以帮我吗?提前致谢!
spins=100
SuccessVector=c()
ProbSuccess<-function(p, capital, l){
for(i in 1:spins){
cap=rep(capital,spins)
while(cap[i]>0 & cap[i]<l){
cap[i]=cap[i]+sample(c(-1,1), replace = TRUE, prob= c(1-p,p))
if(cap[i]==l){SuccessVector[i]=1}
else(SuccessVector[i]=0)
}
}
successes=length(SuccessVector[SuccessVector==1])/length(SuccessVector)
return(successes)
}
ProbSuccess(0.5,10,20)
有 50 个或更多警告(使用 warnings() 查看前 50 个)
警告()
警告信息: 1: 在 cap[i] = cap[i] + sample(c(-1, 1), replace = TRUE, ... : 要替换的项目数不是替换长度的倍数
【问题讨论】:
标签: r