你如何让一个变量改变它在R中的值? (`sample`命令)

这可能是一个非常基本的问题,但是如何让变量在R中的值变化如下?你如何让一个变量改变它在R中的值? (`sample`命令)

var <- sample(c(-2, -1, 0, 1, 2), size = 1)一直给予相同的数字。我能做些什么来防止这种情况发生?

回答:

如果你这样做,set.seed(NULL)并重新运行你的代码,你会收到一个不同的值每次。但是,如果您执行的操作类似set.seed(1729)set.seed(42)等,您将再次得到相同的号码。

在我的系统,运行set.seed(NULL)结果如下:

> set.seed(NULL) 

> var <- sample(c(-2, -1, 0, 1, 2), size = 1)

> var

[1] -2

> var <- sample(c(-2, -1, 0, 1, 2), size = 1)

> var

[1] 1

如果我尝试set.seed(1729)并重新运行代码,我将得到:

> set.seed(1729) 

> var <- sample(c(-2, -1, 0, 1, 2), size = 1)

> var

[1] 0

> var <- sample(c(-2, -1, 0, 1, 2), size = 1)

> var

[1] 0

这是我们选择的种子数是起始点用于产生一系列随机数,这就是为什么我们在给定相同种子数的情况下获得相同结果的原因。从文档

?set.seed

最初,没有种子;从当前的 时间创建一个新的时间,并在需要时创建进程ID。因此,默认情况下,不同会话 将给出不同的模拟结果。但是,如果先前保存的 工作空间已恢复,则种子 可能会从先前的会话中恢复。

以上是 你如何让一个变量改变它在R中的值? (`sample`命令) 的全部内容, 来源链接: utcz.com/qa/264714.html

回到顶部