R語言中set.seed函數的作用是保證兩次隨機抽樣的結果一致。
1、不使用set.seed函數的情況下
> sample(1:8, 3) ## 從1~8中隨機抽取3個數字 [1] 3 7 4 > sample(1:8, 3) [1] 4 8 6 > sample(1:8, 3) [1] 1 5 4 > sample(1:8, 3) ## 可以看到4次的抽取結果都不相同,是隨機抽取 [1] 4 7 6
2、使用set.seed函數
> set.seed(111) ## 設定種子為111 > sample(1:8, 3) ## 從1-8中隨機抽取3個數字 [1] 6 3 4 > set.seed(111) ## 設定種子為111 > sample(1:8, 3) ## 從1-8中隨機抽取3個數字 [1] 6 3 4 > set.seed(111) > sample(1:8, 3) [1] 6 3 4 > set.seed(111) > sample(1:8, 3) ## 可以發現只要設定的種子相同,隨機抽取的結構就相同 [1] 6 3 4
3、測試抽取不同個數的情況
> set.seed(111) ## 設定種子 > sample(1:8, 3) [1] 6 3 4 > set.seed(111) > sample(1:8, 3) ## 抽取個數一致時, 結果一致 [1] 6 3 4 > set.seed(111) > sample(1:8, 4) ## 當增加抽取個數時,前幾個結果仍然一致 [1] 6 3 4 7 > set.seed(111) > sample(1:8, 5) ## 前幾個結果一致 [1] 6 3 4 7 5