gpt4 book ai didi

r - R 中 "while loop"内的 "for loop"不工作?

转载 作者:行者123 更新时间:2023-12-02 03:02:05 26 4
gpt4 key购买 nike

因此,作为一个实验,我想模拟一个有 100 个球的瓮,R 应该继续提取其中一个,直到我得到一个特定的球号(在球 n100 下面的情况下),例如:

urn <- c(1:100)
num <- 0
while(num != 100){
num <-sample(urn, 1, FALSE)
}

但是我想知道的是,在重复这个实验 100.000 次之后,平均需要多少次尝试才能提取出 n100。我是 R 新手,所以我尝试为基本实验创建一个 for 循环来重复 100.000 次。代码如下:

rep <- 100000
urn <- c(1:100)
num <- 0
trials <- 0
tottrials <-0
for (i in 1:rep){
while(num != 100){
num <-sample(urn, 1, FALSE)
trials <- trials +1
}
tottrials <- tottrials + trials
}
cat(prettyNum(prove, big.mark="'"),tottrials/rep,"\n")

但是使用这种方法,它只执行 while 循环 1 次,然后重复找到的试验次数 100.000 次(而不是重新查找新的试验次数。证明:如果我让它粘贴它所做的试验次数,他将粘贴相同的随机试验 100.000 次)。为什么? :(

最佳答案

尝试将 Trialsnum 变量放入循环中。他们将为下一次重复重置:

rep <- 100000
urn <- c(1:100)
tottrials <-0
for (i in 1:rep){
num <- 0
trials <- 0
while(num != 100){
num <-sample(urn, 1, FALSE)
trials <- trials +1
}
tottrials <- tottrials + trials
}

tottrials/rep
[1] 99.51042

关于r - R 中 "while loop"内的 "for loop"不工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33225633/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com