【发布时间】:2019-01-13 14:27:46
【问题描述】:
我经历了多个 R-while-if 问题,但没有找到类似的问题。如果有人问过,请指导我回答。
所以我有一个N=200 编号为0 的条目的向量V。每个条目都表示一个“bin”。由于不同的原因,我跳过了前 3 个垃圾箱。现在对于i= 3:N 的垃圾箱数量,我使用了一个 while 循环。
- 对于每个
ith 个bin,我生成一个介于0和1之间的随机数。 - 如果随机数小于某个数值(这里是 0.66)那么,我只需将 Vector
V中索引i处的0替换为 1,同时,我想要 while 循环跳过接下来的两个值。 -
如果随机数大于数值,我只考虑下一个
i。这是我正在运行的代码:
N = 200 Time <- rep(0, N) Time <- replace(Time, 3, 1) i = 5 while (i <= N){ p <- runif(1) if(p < 0.66){ i= i+ 2; replace(Time, i, 1) } else { i <- i+1 } }
我不太擅长 R,这是我一直在尝试使用的组合,让 R 做我想做的事,但它显然不起作用。我可能遗漏了一些明显的东西。
【问题讨论】:
标签: r loops if-statement while-loop