你如何让一个变量改变它在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