簡體   English   中英

R中set.seed的參數

[英]Argument of set.seed in R

我試圖理解set.seed如何在R中工作。我理解它,可以重現隨機樣本,但我不知道set.seed(1)set.seed(123)之間有什么區別?

括號中的參數是什么意思?

所述seed在參數set.seed是一個單一的值,解釋為一個整數(如在定義help(set.seed())所述seedset.seed產生其中所獨有的隨機值seed (和將是相同的,不論你運行的計算機,因此確保了可重復性。所以set.seed(1)set.seed(123)生成的隨機值不會相同,而是由計算機中的R使用set.seed(1)生成的隨機值set.seed(1)和R在我的電腦中使用相同的seed是相同的。

set.seed(1)
x<-rnorm(10,2,1)
> x
 [1] 1.373546 2.183643 1.164371 3.595281 2.329508 1.179532 2.487429 2.738325 2.575781 1.694612
set.seed(123)
y<-rnorm(10,2,1)
> y
 [1] 1.4395244 1.7698225 3.5587083 2.0705084 2.1292877 3.7150650 2.4609162 0.7349388 1.3131471 1.5543380

> identical(x,y)
[1] FALSE

大多數計算機程序使用確定性算法來生成隨機數(這就是為什么它們生成的數字不是真正隨機的,而是偽隨機數,這對於大多數目的而言足夠好)。 R也沒有什么不同,你可以把它產生的隨機數看作是一長串“隨機”數字的一部分,當被召喚時,只是從某個點開始,為你吐出偽隨機數。 通過使用set.seed()您基本上可以為程序提供一個起點,而不是讓它選擇自己的程序。 這就是為什么運行相同種子號的任何用戶都會得到相同的結果。

您可以運行?RNGkind以獲取有關該主題的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM