为什么要在R中使用set.seed?
set.seed的使用是为了确保我们获得相同的随机结果。如果我们为R或任何统计软件中的任何任务随机选择一些观测值,则它始终会产生不同的值,这是由于随机化而发生的。如果我们想保留在第一次随机选择时产生的值,则可以通过在随机化之后将它们存储在一个对象中来实现,或者可以修复随机化过程,以便始终获得相同的结果。
示例
无种子的随机分组
> sample(1:10) [1] 4 10 5 3 1 6 9 2 8 7 > sample(1:10) [1] 1 4 2 5 8 3 7 9 6 10 > sample(1:10) [1] 6 3 9 5 10 2 7 1 8 4
在这里,我们创建了一个大小为10的样本三遍,所有这些样本中的值都不同。
用set.seed进行随机化
> set.seed(99) > sample(1:10) [1] 6 2 10 7 4 5 3 1 8 9 > set.seed(99) > sample(1:10) [1] 6 2 10 7 4 5 3 1 8 9 > set.seed(99) > sample(1:10) [1] 6 2 10 7 4 5 3 1 8 9
由于我们在所有三个样本中使用相同的set.seed,因此我们获得了相同的样本值。