【发布时间】:2020-06-24 02:57:03
【问题描述】:
在 R 中编写一个 while 循环。
我有一个初始值,我需要模拟一个样本(但大小必须是无限的,而不是 100)。
当样本达到必要值时,我想打破循环并打印一条消息。
我的逻辑如下:
my_start <- 1000 # inital value
random <- sample(my_start, size = 100, replace = FALSE, prob = NULL)
# sample simulation, but size must be not 100, but unlimited
while (result > 2000) {
result <- my_start + random # trying here to add a sample to initial value
print('Start reaches', result)
}
另外我希望样本的分布不会超过 100。
感谢任何提示!
更新:在另一个用户的帮助下几乎达到了目标,只是希望值的波动不会超过某个值(100),而不是纯粹随机的。例如,它会在 900 和 1000 之间波动,当它达到 1050 时,它就会破裂。
my_start <- 1000 # inital value
result <- my_start
n <- 2000 # generate random number from 1 to this value
while (result < 2000) {
random <- sample(n, 1)
result <- random
cat('\nValue reaches', result)
}
【问题讨论】:
-
你从什么采样?
sample(my_start, size = 100, replace = FALSE, prob = NULL)表示从 1 到my_start的任意随机数,其中size为 100。这是您想要的吗? -
@RonakShah, my_start = 1000,我需要生成随机数,直到它等于 2000。另外我希望样本的分布不会超过 100。然后我需要打破循环.谢谢!
标签: r loops while-loop