Set.seed意思

在R語言中,set.seed() 函式用於設定偽隨機數生成器的種子。這意味著每次運行 set.seed(n) 時,隨後的隨機數序列將總是相同的,直到下一次改變種子。這使得結果可復現,這對於數據分析和實驗來說是很有用的。

偽隨機數生成器(PRNG)是一個算法,它根據一個起始值(種子)產生一系列看起來隨機的數字。在R中,set.seed() 函式為PRNG提供一個起始值,這樣就可以重現生成的隨機數序列。

例如,如果你想要生成一個特定的隨機數序列,你可以使用 set.seed() 來設定種子,然後調用 rnorm()runif() 或其他隨機數生成函式來生成你想要的序列。

# 設定種子為100
set.seed(100)

# 生成10個常態分配的隨機數
x <- rnorm(10)

# 列印結果
print(x)

在這個例子中,每次運行這段代碼,x 都會包含相同的10個常態分配的隨機數,因為種子總是設定為100。

如果你想要不同的隨機數序列,你可以設定一個不同的種子,或者不設定種子,這樣R會使用系統時間作為種子,每次運行代碼時都會產生不同的隨機數序列。